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の事例の紹介

推薦する

HTML コード作成ガイド

共通コンベンションタグ自己終了タグ。閉じる必要はありません (例: img input br hr ...

Linux/Docker で System.Drawing.Common を使用する

序文プロジェクトを .net core に移行した後、 System.Drawing.Commonコ...

HTML で余分なテキストを省略記号に変換する方法

HTML で余分なテキストを省略記号として表示したい場合は、いくつかの方法があります。 1行テキスト...

Nginx 設定場所のマッチング優先順位の簡単な分析

序文Nginx 構成のサーバー ブロック内の場所は、リクエスト URI を一致させるために使用され、...

MySQLは現在の日付と時刻を取得する関数

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

Mysql sql スロークエリ監視スクリプトコード例

1. my.cnfを変更する #全体的な効果としては、グローバルがオンになっている場合はテーブルとロ...

Gitコミットログの変更方法のまとめ

ケース1: 最後の提出とプッシュなし次のコマンドを実行します。 git コミット --amend g...

CSS のサイズと幅と高さのブラウザ解釈の違いに対する解決策

まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...

mysql maxとwhere間の実行問題の概要

mysql maxとwhereの間の実行の問題SQLを実行します: テーブル「grades」を作成し...

ウェブページで任意のフォントを使用する実践的な操作とデモ

以前、「Web ページにシステムに組み込まれていないフォントを埋め込む」という研究をしたことがありま...

この記事はJavaScriptの変数とデータ型を理解するのに役立ちます

目次序文:親切なヒント:変数1. 免責事項2. 譲渡3. 2つの小さな文法上の詳細変数の命名規則なぜ...

CSS はモバイル デバイスで水平スクロール ナビゲーション バーを実装します (PC デバイスにも適用可能)

関数の起源最近、水平スクロール バーを必要とする H5 に取り組んでいました。いくつかのドキュメント...

CSS3は三角形の連続拡大効果を実現します

1. CSS3の三角形は特殊効果でズームし続けます11.1 画像プレビュー 11.2 index.h...

HTML コードを書くための 30 のヒント

1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...

Alpine Dockerイメージフォント問題解決操作

1. フォントを実行し、フォント フォルダーを開いて、使用するフォント ファイルを見つけます。 2....