如何在 JavaScript 中打印 PDF 文件
1.0 引言
便攜式文件格式 (PDF) 由 Adobe 開發,用於共用包含文字和圖形的文件。 若要線上開啟PDF文檔,需要額外的程序。 PDF文件對於當今社會的重要資訊至關重要。 許多企業使用PDF文件建立文件和發票。 為了滿足客戶需求,開發人員會製作PDF文件。 由於現代庫,創建 PDF 文件從未如此簡單。
要為使用此類庫的專案選擇理想的庫,我們必須權衡許多因素,包括建置、讀取和轉換能力。
在本教學中,我們將介紹各種用於產生 PDF 的JavaScript庫。 我們將分析 JS 函式庫和實際應用場景,並專注於以下三個面向:
- 運行配置
- 用於簡化輸入和自訂字體的模組
- 易用性
讀完本文後,您將能夠為您的JavaScript應用程式選擇理想的 PDF 程式庫。 最後,我們還將介紹IronPDF,這是一個實用且高效的 PDF 庫。
如何使用JavaScript列印 PDF 文件
- 將 PDF 嵌入到 iframe 標籤中
- 存取 iframe 中 PDF 檢視器自帶的列印選項。
- 使用JavaScript列印目前頁面的 PDF 文件
- 呼叫
printJS方法並將元素 ID 傳遞給 printable 屬性。 - 使用替代庫,透過利用
Print方法在.NET C# 中進行列印。
2.0 庫
設想這樣一個場景:我們希望客戶能夠下載並列印我們的發票副本。我們需要確保發票列印準確且格式適當。 接下來,我們將仔細研究一些可用於將此發票從 HTML 檔案格式轉換為 PDF 格式的程式庫。
2.1 純JavaScript程式碼
通常情況下,要列印 PDF 檔案的內容,我們會將其下載到電腦上,打開它,然後選擇列印選項。 另一方面, JavaScript讓直接從網頁列印 PDF 檔案變得非常簡單。 你只需要在你的網站上新增一個 iframe,或具備動態建立 iframe 的功能,然後新增文件並列印它。 我將示範如何使用JavaScript列印 PDF 檔案。網頁中會使用 iframe 嵌入到另一個網頁中。 網頁要顯示,iframe 必須知道其來源。
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Print PDF</title>
</head>
<body>
<iframe
src="Demo.pdf" id="myFrame"
frameborder="0" style="border:0;"
width="300" height="300">
</iframe>
<p>
<input type="button" id="bt" onclick="printPdf()" value="Print PDF" />
</p>
<script>
// JavaScript function to print the PDF inside the iframe
let printPdf = () => {
// Access the iframe
let objFra = document.getElementById('myFrame');
// Focus the iframe's window
objFra.contentWindow.focus();
// Trigger the print dialog
objFra.contentWindow.print();
}
</script>
</body>
</html><!DOCTYPE html>
<html>
<head>
<title>JavaScript Print PDF</title>
</head>
<body>
<iframe
src="Demo.pdf" id="myFrame"
frameborder="0" style="border:0;"
width="300" height="300">
</iframe>
<p>
<input type="button" id="bt" onclick="printPdf()" value="Print PDF" />
</p>
<script>
// JavaScript function to print the PDF inside the iframe
let printPdf = () => {
// Access the iframe
let objFra = document.getElementById('myFrame');
// Focus the iframe's window
objFra.contentWindow.focus();
// Trigger the print dialog
objFra.contentWindow.print();
}
</script>
</body>
</html>若要列印 PDF 文件,可以使用 iframe 顯示文件內容,然後可以使用JavaScript列印內容。 這兩種情況都需要使用 iframe。 在上面的範例中,有一個帶有來源(PDF)的 iframe。 此外,還有一個按鈕類型的輸入元素。
按鈕的 onclick 屬性將呼叫 printPdf 方法。

2.2 Print.js
Print.js 的主要創建目的是為了使我們能夠直接從應用程式內部列印 PDF 文件,而無需離開應用程式、從使用者介面匯入和列印它們,或使用嵌入程式碼。 這是針對特殊情況,用戶只需要列印 PDF 文件,而不需要打開或下載它們。
例如,當使用者要求列印伺服器端產生的報表時,這會很有幫助。 這些報告將以PDF文件的形式傳回給您。 這些文件無需打開即可列印。 在我們的應用程式中,Print.js 提供了一種便捷的方式來列印這些檔案。
<!DOCTYPE html>
<html>
<head>
<title>Print.js Example</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script src="https://printjs-4de6.kxcdn.com/print.min.js"></script>
<link href="https://printjs-4de6.kxcdn.com/print.min.css" rel="stylesheet">
</head>
<body>
<div id="print-area" class="print-main">
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<tr>
<td>AAA</td>
<td>25</td>
</tr>
<tr>
<td>BBB</td>
<td>24</td>
</tr>
</table>
</div>
<button id="btnPrint">Print</button>
<script>
$(document).ready(function(){
// When the print button is clicked
$("#btnPrint").on("click", function(){
// Use Print.js to print the content of #print-area
printJS({
printable: 'print-area',
type: 'html'
});
});
});
</script>
</body>
</html><!DOCTYPE html>
<html>
<head>
<title>Print.js Example</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script src="https://printjs-4de6.kxcdn.com/print.min.js"></script>
<link href="https://printjs-4de6.kxcdn.com/print.min.css" rel="stylesheet">
</head>
<body>
<div id="print-area" class="print-main">
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<tr>
<td>AAA</td>
<td>25</td>
</tr>
<tr>
<td>BBB</td>
<td>24</td>
</tr>
</table>
</div>
<button id="btnPrint">Print</button>
<script>
$(document).ready(function(){
// When the print button is clicked
$("#btnPrint").on("click", function(){
// Use Print.js to print the content of #print-area
printJS({
printable: 'print-area',
type: 'html'
});
});
});
</script>
</body>
</html>以上程式碼可用於直接從網站列印 PDF 檔案。它表明,列印時會列印 ID 為"print-area"的 HTML 元素內的所有 HTML 字串。

2.3 IronPDF - Node.js PDF 庫
IronPDF是一個功能全面的Node.js PDF 庫,在準確性、易用性和速度方面表現出色。 它提供了豐富的功能,可以直接在 React 中從 HTML、URL 和圖像生成、編輯和格式化 PDF。 IronPDF支援包括 Windows、MacOS、Linux、Docker 以及 Azure 和 AWS 等雲端平台在內的各種平台,確保跨平台相容性。 它易於使用的 API 使開發人員能夠快速將 PDF 生成和處理整合到他們的Node.js專案中。
IronPDF for Node.js的主要特性:
- 多功能 PDF 生成:借助IronPDF,開發人員可以從各種來源生成 PDF,包括 HTML、CSS、 JavaScript、圖像和其他文件類型。這種靈活性使得創建動態且美觀的 PDF 文件成為可能,並可根據特定需求進行客製化。
- 進階文件自訂: IronPDF可讓開發人員透過頁首、頁尾、附件、數位簽章、浮水印和書籤等功能來增強 PDF 文件。 這樣就可以建立具有豐富內容和互動式元素的專業級 PDF 檔案。
- 安全功能: IronPDF提供強大的安全功能,以保護 PDF 檔案免受未經授權的存取。 開發人員可以實施密碼、數位簽章、元資料和其他安全性設定等安全措施,以保護 PDF 文件中包含的敏感資訊。
- 最佳化效能: IronPDF旨在實現最佳效能,具有完整的多執行緒和非同步支援。 這確保了高效的 PDF 生成,使其適用於對效能要求極高的關鍵任務應用。
- 全面的功能集: IronPDF提供超過 50 種用於建立、格式化和編輯 PDF 文件的功能,為所有與 PDF 相關的任務提供全面的解決方案。 從基本文件產生到進階自訂和安全, IronPDF提供廣泛的功能來滿足開發人員的需求。
以下範例示範如何從HTML 文件、HTML 字串和URL產生並儲存 PDF 文檔,以保留列印格式:
import { PdfDocument } from "@ironsoftware/ironpdf";
// An async function to demonstrate how to generate PDF documents
(async () => {
// Create a PDF from a URL
const pdfFromUrl = await PdfDocument.fromUrl("https://getbootstrap.com/");
// Save it to a file
await pdfFromUrl.saveAs("website.pdf");
// Create a PDF from a local HTML file
const pdfFromHtmlFile = await PdfDocument.fromHtml("design.html");
// Save it to a file
await pdfFromHtmlFile.saveAs("markup.pdf");
// Create a PDF from an HTML string
const pdfFromHtmlString = await PdfDocument.fromHtml("<p>Hello World</p>");
// Save it to a file
await pdfFromHtmlString.saveAs("markup_with_assets.pdf");
})();import { PdfDocument } from "@ironsoftware/ironpdf";
// An async function to demonstrate how to generate PDF documents
(async () => {
// Create a PDF from a URL
const pdfFromUrl = await PdfDocument.fromUrl("https://getbootstrap.com/");
// Save it to a file
await pdfFromUrl.saveAs("website.pdf");
// Create a PDF from a local HTML file
const pdfFromHtmlFile = await PdfDocument.fromHtml("design.html");
// Save it to a file
await pdfFromHtmlFile.saveAs("markup.pdf");
// Create a PDF from an HTML string
const pdfFromHtmlString = await PdfDocument.fromHtml("<p>Hello World</p>");
// Save it to a file
await pdfFromHtmlString.saveAs("markup_with_assets.pdf");
})();有關 PDF 相關任務的更多程式碼範例,請造訪IronPDF Node.js程式碼範例頁面。

3.0 結論
使用者可以看到上面的JavaScript程式碼,但其他人可能會濫用它。 以這種方式使用原始程式碼是可行的。 此外,向網站添加危及透過該網站發送的資料安全性的程式碼並不難。 上述JavaScript庫在不同的瀏覽器中有不同的顯示方式。 因此,程式碼在發布前必須在各種系統上運行。 由於某些新功能在舊版瀏覽器上不受支援,因此我們也需要考慮這些瀏覽器的兼容性。 上述庫可以產生PDF文件。 用戶還必須對他們正在使用的腳本有一定的了解。
IronPDF 具有針對JavaScript框架和函式庫的簡單整合流程、出色的IronPDF Node.js說明文件和程式碼範例,以及回應迅速的技術支援,開發人員可以立即上手,使其成為在Node.js相關應用程式中產生和列印專業級 PDF 的首選。
IronPDF提供Node.js的免費試用版,因此您可以在做出明智的決定之前測試其全部功能。 它也支援其他語言,如C# .NET 、 Java和Python 。 請造訪IronPDF網站以了解更多詳情。 從IronPDF Node.js下載頁面下載IronPDF 適用於 Node.js








