ホームページ >ウェブフロントエンド >jsチュートリアル >ユーザーの介入なしで JavaScript からサイレント PDF 印刷を有効にする方法
JavaScript からの PDF の直接印刷
PDF が普及するにつれ、ユーザーが PDF を PDF 内から直接印刷できるようにする必要が生じることがよくあります。ウェブアプリケーション。ただし、印刷前に PDF ビューアを開いたり、PDF を表示したりすると、ユーザー フローが中断される可能性があります。この記事では、ユーザーの介入なしに PDF の印刷ダイアログをサイレントに開く解決策について説明します。
アプローチの概要
以前は、
代替ソリューション
代替アプローチには、非表示の iframe を使用し、その中でドキュメントを操作することが含まれます。 PDF を iframe に埋め込み、ユーザーが意識することなくそのコンテキスト内から印刷できます。
次のコード スニペットを考えてみましょう:
<code class="html"><iframe id="pdf-iframe" style="display: none;"></iframe></code>
これにより、ID が「pdf」の非表示の iframe が作成されます。 -iframe."
JavaScript では、iframe のドキュメントを操作して PDF をロードし、印刷を開始できます。
<code class="javascript">function printPdf() { // Get the iframe document const iframeDoc = document.getElementById('pdf-iframe').contentDocument; // Create an embed element with the PDF source const embed = iframeDoc.createElement('embed'); embed.setAttribute('src', 'path_to_pdf_document.pdf'); embed.setAttribute('type', 'application/pdf'); embed.style.display = 'none'; iframeDoc.body.appendChild(embed); // Wait for the PDF to load setTimeout(() => { embed.print(); }, 1000); // Adjust the timeout as needed }</code>
この手法は、embed 要素を使用して前のメソッドの動作を模倣します。 iframe 内で、CSS を通じて非表示にします。 PDF が完全にロードされたことを確認するために、少し遅れて print() メソッドが呼び出されます。
このアプローチを利用すると、ユーザー エクスペリエンスを中断することなく、JavaScript から直接 PDF をシームレスに印刷できます。
以上がユーザーの介入なしで JavaScript からサイレント PDF 印刷を有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。