首頁 > web前端 > js教程 > 主體

如何在無需使用者乾預的情況下從 JavaScript 啟用靜默 PDF 列印?

Barbara Streisand
發布: 2024-10-20 20:17:02
原創
282 人瀏覽過

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

直接從 JavaScript 列印 PDF

隨著 PDF 的普及,經常需要讓使用者能夠直接從網路應用程式。但是,在列印之前開啟 PDF 檢視器或顯示 PDF 可能會擾亂使用者流程。本文探討了一種無需使用者介入即可靜默開啟 PDF 列印對話方塊的解決方案。

方法概述

以前,可以使用 標籤將 PDF 注入到文件中,然後在載入後觸發嵌入元素上的 .print() 方法。然而,正如評論中所提到的,現代瀏覽器已經取消了此方法的功能。

替代解決方案

另一種方法涉及使用不可見的 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 已完全加載。

以上是如何在無需使用者乾預的情況下從 JavaScript 啟用靜默 PDF 列印?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!