HTML印刷関連の操作と実装の詳細な説明

HTML印刷関連の操作と実装の詳細な説明

原則的にはwindow.print()メソッドを呼び出すことですが、このメソッドは現在のページ全体を印刷することしかできないため、部分的な印刷を解決するために次のソリューションが使用されます。

1: iframeを使用して印刷する必要がある要素とスタイルを挿入し、printを呼び出します。

// サンプルコード function print () {
    ifElement = document.getElementById('ifId') とします。
    定数addHtmlPrint = () => {
        定数コンテンツ = ifElement.contentWindow || ifElement.contentDocument
        content.document.body.innerHTML = this.detailTable
        const styleEle = document.createElement('style')
        /* 印刷時にヘッダーとフッターを削除します*/
        styleEle.innerHTML = '@media print {@page { margin: 5mm; }}'
        content.document.getElementsByTagName('head')[0].appendChild(styleEle)

        /* iframe 内のリソースが読み込まれ、画像が img 形式でインポートされていることを確認します*/
        ifElement.onload = () => {
            コンテンツ.print()
        }
    }
    this.getDetailTable()

    if (ifElement) {
        // 作成されている場合は直接印刷します addHtmlPrint()
    } それ以外 {
        ifElement = document.createElement('iframe')
        ifElement.setAttribute('id', 'ifId')
        ifElement.setAttribute('style', 'display:none')
        document.body.appendChild(ifElement)

        HTML 印刷を追加します。
    }
}

2: @media printを使用して、現在のページで印刷するときに非表示にする必要がある要素を設定します。

@media 印刷{
    /* ここで、印刷する必要のない要素を非表示に設定します*/
    .隠し要素{
        表示:なし;
        /* 可視性:非表示; */
    }
    /*用紙は幅1200ピクセル、高さ800ピクセルに設定されています*/
    @ページ{
        サイズ:1200px 800px;
    }
}
  • <link href="/example.css" media="print" rel="stylesheet" /> 印刷時に使用するスタイルを指定します
  • 印刷イベントをリッスンします。window.addEventListener('beforeprint|| afterprint', ()=> {});

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  一般的な JavaScript メモリ エラーと解決策

>>:  SQLデータベースの14の事例の紹介

推薦する

Vueでシングルサインオンを実装する方法のまとめ

最近プロジェクトが中断され、RageFrame の研究は一時的に終了しました。この記事では、シングル...

Spring Cloud での Docker デプロイメントに jib を使用する詳細な手順

ジブの紹介Jib は Google が開発した、Java アプリケーションの Docker および ...

VMware Workstation 14 Pro のインストールとアクティベーションのグラフィック チュートリアル

この記事では、VMware Workstation 14 Proのインストールとアクティベーションに...

MySQL コピーテーブルと許可分析の 3 つの実装方法

テーブルを素早くコピーする方法まず、テーブル db1.t を作成し、1000 行のデータを挿入します...

CSSでスペースを処理する方法

1. 宇宙のルールHTML コード内の空白は通常、ブラウザによって無視されます。 <p>...

HTML webpackプラグインの使用に関する簡単な分析

html-webpack-pluginプラグインを使用してページを開始すると、htmlページをメモリ...

nginx で仮想ホストを構成するための詳細な手順

仮想ホストは、インターネット上で実行されているサーバー ホストを複数の「仮想」ホストに分割する特殊な...

Linux カーネル デバイス ドライバー 高度な文字デバイス ドライバーのメモ

/****************** * 高度な文字デバイス ドライバー ***********...

JSベースの手持ち連射機能+テキスト揺れ特殊効果コードの簡単実装

少し前にTikTokで揺れる連打が流行っていたので真似してみることにしました。さっそく効果をみてみま...

Vueのウェブページスクリーンショット機能の詳しい説明

最近、プロジェクトで写真をアップロードする要件があるのですが、顧客がアップロードする写真のサイズがま...

一般的な XHTML タグの使用方法の紹介

XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...

Docker クロスサーバー通信オーバーレイソリューション (パート 1) Consul 単一インスタンス

目次シナリオタスクアイデア分析するコンセプトと選択ちょっとしたテスト環境説明予防実践テスト引用シナリ...

WeChatアプレット学習ノート: ページ構成とルーティング

最近、小さなプログラムの開発を勉強して見直しており、学習結果のいくつかをメモしています。公式の We...

Linux の運用と保守で netstat の代わりに ss コマンドを使用する方法

序文Linux サーバーを操作および管理するときに、最もよく使用されるコマンドの 1 つが nets...

純粋な CSS でカスタムラジオボタンとチェックボックス機能を実装する

1. 効果を達成する 2 知識ポイント2.1 <label> タグHTML では、<...