Iframe を使用して JavaScript から PDF を直接印刷するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-20 20:14:02
オリジナル
797 人が閲覧しました

How to Print PDFs Directly from JavaScript using an Iframe?

JavaScript から直接 PDF を印刷することが明らかに

Web アプリケーションでは、多くの場合、PDF をダウンロードまたは印刷するオプションをユーザーに提供する必要があります。従来、ユーザーは印刷プロセスを開始する前にビューアで PDF を開く必要がありました。ただし、JavaScript の進歩により、ユーザーがドキュメント自体を操作する必要がなく、PDF の印刷ダイアログを直接開くことができるようになりました。

これを実現するための 1 つのアプローチには、PDF を非表示の iframe にダウンロードし、その後、 JavaScript を使用して印刷リクエストをトリガーします。このワークフローは次のように実装できます。

  • PDF を非表示の iframe に埋め込みます: を使用します。タグを使用して、HTML ドキュメント内に PDF を埋め込みます。 iframe がユーザーのビューから非表示のままであることを確認します。
  • PDF の読み込み完了を検出: ループまたはタイマーを使用して、PDF が iframe 内で読み込みを完了したかどうかを継続的に確認します。アンロードされた PDF を印刷しようとするとエラーが発生するため、この手順は非常に重要です。
  • 印刷の開始: PDF のロードが完了したことを確認したら、.print() メソッドを呼び出します。 iframe の埋め込み要素。このアクションにより印刷ダイアログが開き、ユーザーが目的のプリンターを選択して印刷プロセスを開始できるようになります。

iframe に埋め込まれた PDF を印刷するサンプル コード:

<code class="javascript">function printPDF() {
  // Create a hidden iframe
  const iframe = document.createElement('iframe');
  iframe.style.display = 'none';
  document.body.appendChild(iframe);

  // Load the PDF into the iframe
  iframe.src = 'path_to_pdf_document.pdf';

  // Wait for the PDF to load
  const printInterval = setInterval(() => {
    if (iframe.contentWindow.document.readyState === 'complete') {
      clearInterval(printInterval);
      iframe.contentWindow.print();
      document.body.removeChild(iframe);
    }
  }, 100);
}</code>
ログイン後にコピー

このアプローチを実装すると、印刷プロセスを開始する前に PDF または別の PDF ビューアを手動で開く必要がなく、シームレスな印刷エクスペリエンスをユーザーに提供できます。このソリューションはすべてのブラウザーとバージョンでサポートされているわけではないことに注意することが重要です。

以上がIframe を使用して JavaScript から PDF を直接印刷するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!