如何在Node.js中建立PDF檔案
在Node.js中程式生成PDF檔案需要一個能夠準確處理HTML渲染、支援現代CSS並與Node的異步模式清晰整合的程式庫。 IronPDF 使用基於Chromium的渲染引擎將HTML內容轉換為與Chrome列印輸出匹配的PDF,支援完整的CSS、內聯JavaScript和開箱即用的響應式佈局。
本指南涵蓋了完整的工作流程:安裝、從HTML字串、HTML檔案和URLs生成PDF、配置輸出選項、以及應用企業功能如標題、頁腳、數位簽名和加密。
快速入門:在Node.js中建立PDF
- 通過npm安裝IronPDF:
npm install @ironsoftware/ironpdf - 從
PdfDocument - 使用您的HTML內容呼叫
PdfDocument.fromHtml() - 呼叫
.saveAs()將PDF檔案寫入磁碟
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/quickstart.js在生產環境運行前為您的平台配置IronPdfEngine。 查看適用於Windows、Linux、macOS和Docker的IronPdfEngine設置指南。
最小化工作流程(5步)
- 安裝IronPDF:
npm install @ironsoftware/ironpdf - 從
@ironsoftware/ironpdf中導入PdfDocument - 使用
PdfDocument.fromHtml()、PdfDocument.fromFile()或PdfDocument.fromUrl()生成PDF - 應用可選設置:紙張尺寸、邊距、標頭、頁腳
- 使用
pdf.saveAs("output.pdf")保存輸出
如何安裝IronPDF for Node.js?
使用npm安裝@ironsoftware/ironpdf包。 該包適用於Node.js 12.0或更高版本,同時支援ESM和CommonJS模組格式。
//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdfIronPDF for Node.js依賴於IronPDF引擎二進制檔案,其負責處理基於Chromium的渲染。 引擎在首次運行時自動下載,但您可以預先安裝平台特定的包以避免運行時下載。 這在受限網路環境或基於Docker的CI管線中非常有用:
| 平台 | 包 |
|---|---|
| Windows x64 | @ironsoftware/ironpdf-engine-windows-x64 |
| Linux x64 | @ironsoftware/ironpdf-engine-linux-x64 |
| macOS x64 | @ironsoftware/ironpdf-engine-macos-x64 |
| macOS ARM | @ironsoftware/ironpdf-engine-macos-arm64 |
IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" })來應用它。)]} 請遵循完整的授權金鑰設置說明。IronPDF的系統要求是什麼?
IronPDF for Node.js在Windows、Linux、macOS和Docker環境的Node.js 12.0或更高版本上運行。 該程式庫支援x64和ARM64架構,使其適用於本地開發和容器化部署。 對於雲環境,IronPDF還支援連接到遠端IronPDF引擎,而不是本地運行引擎。
如何在Node.js中從HTML建立PDF?
使用PdfDocument.fromHtml()從HTML字串生成PDF。 該方法接受任何有效的HTML,包括內聯<style>區塊、通過CDN載入的外部字型和佈局系統如CSS Grid或Flexbox。 Chromium渲染器在生成PDF之前解析所有資源。
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-string-to-pdf.jsPdfDocument實例。 使用您期望的輸出路徑呼叫.then()處理器。 Chromium引擎在捕獲輸出之前處理字體載入、外部樣式表和資產解析。 有關更多模式,請查看HTML字串轉PDF範例。
如何從HTML檔案建立PDF?
使用.html檔案。 此方法對於模板文件特別有效,其中HTML與應用程式邏輯分開維護。
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-file-to-pdf.js渲染器從HTML檔案的目錄解析相對資產路徑,因此本地CSS和圖像引用無需額外配置即可運行。 請參閱HTML檔案轉PDF範例以獲得其他選項,包括如何覆寫資產解析的基準URL。
如何從URL生成PDF?
使用PdfDocument.fromUrl()將現有的網頁渲染為PDF。 渲染器在捕獲輸出之前,以完整的瀏覽器會話的方式載入頁面,執行JavaScript、應用CSS,並等待動態內容。
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/url-to-pdf.js對於通過JavaScript異步載入內容的頁面,將此與renderDelay選項(以毫秒為單位)結合使用,以允許在捕獲之前有額外時間。 URL轉PDF範例展示了延遲配置和身份驗證標頭。
如何配置PDF輸出設置?
將配置物件作為第二個參數傳遞給PdfDocument.fromUrl()。 配置物件接受紙張尺寸、邊距、方向和渲染選項。
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/pdf-settings.js主要配置選項包括:
PdfPaperSize枚舉值(A4、Letter、Legal和自定義尺寸)landscape:為橫向頁面方向設置trueprintBackground:包含CSS背景顏色和圖像marginTop/Bottom/Left/Right:以毫米為單位的頁面邊距renderDelay:用於JavaScript大量頁面捕捉前的等待毫秒數
如何將頁眉和頁腳新增到PDF?
通過配置物件中的htmlFooter屬性新增標頭和頁腳。 兩者都接受完整的HTML字串,從而能夠將樣式內容與頁碼、日期和動態文字結合。
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/headers-footers.js使用{total-pages}標記在頁腳HTML中; IronPDF在渲染時間替換正確的值。有關更多標頭和頁腳模式,包括HTML標頭和頁腳與進階標頭技巧,請參閱連結的範例。
如何為PDF新增安全和元資料?
使用PdfDocument安全方法將密碼保護和加密應用到生成的PDF。 該程式庫支援擁有者和使用者密碼,提供列印、複製和編輯的詳細權限控制。
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/security.js加密和解密在應用密碼時預設使用AES 256位加密。 對於文件身份驗證工作流程,IronPDF還支援使用X.509證書的數位簽名。
PdfDocument.fromHtml(),然後使用PDF/A轉換方法。 IronPDF支援PDF/A合規和PDF/UA可存取性標準。如何合併和操作現有的PDF?
PdfDocument提供合併、分割和修改現有PDF文件的方法。 使用PdfDocument.fromFile()載入現有的PDF,並使用操作方法新增或移除頁面、印章內容或替換文字。
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/merge-pdfs.jsPdfDocument實例的陣列並返回一個單一的合併文件。 頁面順序遵循陣列順序,因此輸出保留輸入文件的順序。
其他常見的操作操作:
對於高容量場景,多執行緒PDF生成可讓您並行處理多個文件。 PDF壓縮可減少檔案大小以進行儲存和傳輸。
如何為複雜內容生成PDF,如圖表和Angular頁面?
IronPDF使用完全Chromium瀏覽器會話渲染頁面,這意味著生成圖表、圖表或資料視覺化的JavaScript庫正確渲染,包括JavaScript圖表庫。 使用像Angular這樣的框架構建的單頁應用程式也可以使用Angular轉PDF範例乾淨轉換。
對於Unicode密集型文件或多語言輸出,IronPDF處理Unicode和國際字元集無需額外配置。 Google字型整合範例顯示如何在渲染的HTML中載入網頁字形,以確保輸出PDF的字型一致性。
renderDelay以給予頁面完全渲染的時間。Node.js中建立PDF的下一步是什麼?
本指南涵蓋了IronPDF的核心工作流程:安裝程式庫、從HTML字串、檔案和URL生成PDF、配置輸出設置、新增頁眉和頁腳、應用安全措施以及操作現有PDF。
繼續了解完整的HTML到PDF教學以更深入了解渲染選項,或瀏覽API參考以獲得完整的PdfDocument方法和配置屬性列表。
常見問題
在Node.js中建立PDF文件的最簡單方法是什麼?
使用npm install @ironsoftware/ironpdf安裝IronPDF,然後使用您的HTML字串調用PdfDocument.fromHtml(),並使用saveAs()保存結果。該程式庫會自動處理所有渲染。
我如何安裝IronPDF用於Node.js?
在您的專案目錄中運行npm install @ironsoftware/ironpdf。IronPDF引擎的二進制檔案在第一次使用時會自動下載。對於離線或CI環境,單獨安裝平台特定的引擎包,例如@ironsoftware/ironpdf-engine-linux-x64。
我可以在保持CSS樣式和格式的情況下將HTML轉換為PDF嗎?
可以。IronPDF使用基於Chromium的渲染引擎,在將HTML轉換為PDF時保留所有CSS樣式、外部字體和JavaScript執行。輸出效果與Chrome的列印預覽行為一致。
除了基本的HTML轉換外,還有哪些PDF功能可用?
IronPDF支持數位簽名、AES 256位加密、具有細粒度權限的密碼保護、自定義標頭和頁尾與頁碼標記、PDF合併、頁面移除、HTML標記、文字提取、PDF/A合規性和多執行緒生成。
如何從磁碟上的HTML文件生成PDF?
使用PdfDocument.fromFile('./path/to/template.html')。渲染器會從HTML文件的目錄解析相對資產路徑,因此本地CSS和圖像參考無需額外配置即可運行。
我可以使用IronPDF從現有的PDF文件中提取文字嗎?
可以。使用PdfDocument.fromFile()載入現有PDF,然後使用文字提取方法從任何頁面讀取內容。IronPDF支持建立新PDF和處理現有文件。
IronPDF在渲染HTML時支持JavaScript執行嗎?
可以。Chromium渲染器在捕捉PDF之前會執行JavaScript。對於異步載入內容的頁面,將renderDelay選項設定為毫秒,讓頁面在捕捉前有更多時間。





