Bagaimana untuk Mendayakan Pencetakan PDF Senyap daripada JavaScript tanpa Campur Tangan Pengguna?

Barbara Streisand
Lepaskan: 2024-10-20 20:17:02
asal
282 orang telah melayarinya

How to Enable Silent PDF Printing from JavaScript without User Intervention?

Pencetakan PDF Terus daripada JavaScript

Dengan adanya PDF di mana-mana, sering timbul keperluan untuk membolehkan pengguna mencetaknya terus dari dalam aplikasi web. Walau bagaimanapun, membuka pemapar PDF atau memaparkan PDF sebelum mencetak boleh mengganggu aliran pengguna. Artikel ini meneroka penyelesaian untuk membuka dialog Cetak secara senyap untuk PDF tanpa campur tangan pengguna.

Gambaran Keseluruhan Pendekatan

Sebelum ini, anda boleh menggunakan tag untuk menyuntik PDF ke dalam dokumen dan kemudian mencetuskan kaedah .print() pada elemen terbenam setelah dimuatkan. Walau bagaimanapun, seperti yang dinyatakan dalam ulasan, penyemak imbas moden telah menafikan fungsi kaedah ini.

Penyelesaian Gantian

Pendekatan alternatif melibatkan penggunaan iframe yang tidak kelihatan dan memanipulasi dokumen di dalamnya. Anda boleh membenamkan PDF dalam iframe dan mencetaknya dari dalam konteks tersebut tanpa kesedaran pengguna.

Pertimbangkan coretan kod berikut:

<code class="html"><iframe id="pdf-iframe" style="display: none;"></iframe></code>
Salin selepas log masuk

Ini mencipta iframe tersembunyi dengan id "pdf -iframe."

Dalam JavaScript, anda boleh memanipulasi dokumen iframe untuk memuatkan PDF dan memulakan pencetakan:

<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>
Salin selepas log masuk

Teknik ini meniru gelagat kaedah sebelumnya dengan menggunakan elemen benam dalam iframe, yang kemudiannya dibuat tidak kelihatan melalui CSS. Kaedah print() dipanggil selepas kelewatan singkat untuk memastikan PDF telah dimuatkan sepenuhnya.

Dengan menggunakan pendekatan ini, anda boleh mencetak PDF terus daripada JavaScript dengan lancar tanpa mengganggu pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimana untuk Mendayakan Pencetakan PDF Senyap daripada JavaScript tanpa Campur Tangan Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!