Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mencetak PDF Terus dari JavaScript menggunakan Iframe?

Bagaimana untuk Mencetak PDF Terus dari JavaScript menggunakan Iframe?

Susan Sarandon
Susan Sarandonasal
2024-10-20 20:14:02797semak imbas

How to Print PDFs Directly from JavaScript using an Iframe?

Mencetak PDF Terus daripada JavaScript Uncovered

Aplikasi web selalunya melibatkan keperluan untuk menyediakan pengguna dengan pilihan untuk memuat turun atau mencetak PDF. Secara tradisinya, pengguna perlu membuka PDF dalam pemapar sebelum memulakan proses cetakan. Walau bagaimanapun, kemajuan dalam JavaScript telah menimbulkan kemungkinan membuka terus dialog cetakan untuk PDF tanpa memerlukan sebarang interaksi pengguna dengan dokumen itu sendiri.

Satu pendekatan untuk mencapai ini melibatkan memuat turun PDF ke dalam iframe tersembunyi, kemudian mencetuskan permintaan cetakan menggunakan JavaScript. Aliran kerja ini boleh dilaksanakan seperti berikut:

  • Benamkan PDF dalam iframe tersembunyi: Gunakan tag untuk membenamkan PDF dalam dokumen HTML. Pastikan iframe kekal tersembunyi daripada pandangan pengguna.
  • Kesan penyiapan pemuatan PDF: Gunakan gelung atau pemasa untuk terus menyemak sama ada PDF telah selesai dimuatkan dalam iframe. Langkah ini adalah penting kerana percubaan untuk mencetak PDF yang tidak dimuatkan akan mengakibatkan ralat.
  • Mulakan pencetakan: Setelah PDF disahkan telah selesai dimuatkan, gunakan kaedah .print() pada elemen benam iframe. Tindakan ini akan membuka dialog cetakan, membenarkan pengguna memilih pencetak yang dikehendaki dan memulakan proses pencetakan.

Kod contoh untuk mencetak PDF yang dibenamkan dalam iframe:

<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>

Dengan melaksanakan pendekatan ini, anda boleh memberikan pengguna pengalaman pencetakan yang lancar tanpa memerlukan mereka membuka PDF secara manual atau pemapar PDF yang berasingan sebelum memulakan proses cetakan. Adalah penting untuk ambil perhatian bahawa penyelesaian ini mungkin tidak disokong oleh semua penyemak imbas dan versi.

Atas ialah kandungan terperinci Bagaimana untuk Mencetak PDF Terus dari JavaScript menggunakan Iframe?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn