跳至頁尾內容
使用 IRONPDF FOR NODE.JS
如何在不使用 Pupateer 的情況下,使用 Node.js 將 HTML 轉換為 PDF

無需 Puppeteer,即可在 Node.js 中將 HTML 轉換為 PDF

在瞬息萬變、不斷發展的 Web 開發領域,將 HTML 轉換為 PDF 的需求出現的頻率非常高。 這種需求涵蓋了廣泛的應用領域,從創建詳細的報告和發票到以易於列印的格式保存網路內容這一重要任務。 在Node.js環境下,將HTML頁面無縫轉換為PDF是開發人員應對現代Web應用程式複雜性的關鍵要求。

本文將探討在不使用 Puppeteer 的情況下,如何在 Node.js 中實作 HTML 到 PDF 的轉換。 雖然Puppeteer 以無頭模式運行,就像一個無頭瀏覽器一樣,但開發者現在可以存取各種各樣的替代庫。 其中, IronPDF for Node.js 庫脫穎而出,成為一個非常出色的選擇——這是一個功能極其強大的工具,專門用於在 Node.js (JavaScript) 生態系統中執行與 PDF 相關的操作。

1. 如何在不使用 Puppeteer 的情況下,在 Node.js 中將 HTML 轉換為 PDF

  1. 在 Node.js 中安裝 PDF 函式庫,無需 Puppeteer 即可將 HTML 轉換為 PDF。
  2. 導入所需的依賴項。
  3. 使用PdfDocument.fromUrl方法從 URL 建立 PDF 檔案。
  4. 使用PdfDocument.fromHtml方法將 HTML 字串渲染為 PDF。
  5. 使用saveAs方法儲存已建立的 PDF 檔案。

2. IronPDF 簡介。

IronPDF是一個功能強大的 Node.js PDF 庫,它提供了一套用於處理 PDF 文件的強大功能。 它的主要功能之一是無需 Puppeteer 即可將 HTML 轉換為 PDF 格式。 這使得 IronPDF 成為開發人員在 Node.js 應用程式中處理 HTML 到 PDF 轉換時一個極具吸引力的解決方案,它提供了一種輕量級且高效的方法。 IronPDF 也支援 CSS 版本和標頭的轉換。 IronPDF 讓您從影像產生 PDF,這些 PDF 可以在生產環境中無縫運作。

2.1. IronPDF 的顯著特點

  1. PDF 產生 IronPDF 使開發人員能夠從頭開始建立 PDF 文檔,從而完全控制內容、格式和佈局。
  2. PDF 解析該程式庫便於從現有的 PDF 文件中提取文字、圖像和其他元素,使開發人員能夠操作儲存在這些文件中的資料。
  3. PDF 修改: IronPDF 支援動態修改預先存在的 PDF 文件,可依需求新增、刪除或更新內容。
  4. PDF 渲染:使用 IronPDF 的開發人員可以渲染各種格式的 PDF 文件,包括從影像HTML 渲染。 這種多功能性擴展了在 Web 應用程式中顯示 PDF 內容的選擇範圍。 5.跨平台相容性: IronPDF 在設計時充分考慮了相容性,可在不同的作業系統上無縫運行,確保無論部署環境如何,都能保持一致的行為。

3. 安裝 IronPDF

IronPDF的入門流程非常簡單。 要將 IronPDF安裝到您的 Node.js 專案中,您可以使用 NPM,即 Node.js 庫的套件管理器。 打開終端機並執行以下命令:

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

此命令將下載並安裝 IronPDF 庫,使其可在您的專案中使用。 若要安裝使用 IronPDF 庫所需的 IronPDF 引擎,請在控制台上執行以下命令:

npm install @ironsoftware/ironpdf-engine-windows-x64
npm install @ironsoftware/ironpdf-engine-windows-x64
SHELL

4. HTML 轉 PDF 生成

現在 IronPDF 已經下載並安裝完畢,讓我們來探索如何使用它將 HTML 轉換為 PDF,並逐步介紹三種常見場景:將 URL 轉換為 PDF、將 HTML 字串轉換為 PDF 以及將 HTML 檔案轉換為 PDF。

4.1. 使用 IronPDF 從 URL 建立 PDF 文件

將網頁轉換為 PDF 是一種常見的需求,尤其是在處理伺服器產生的動態內容時。 IronPDF 讓這個過程變得簡單。 以下是一個簡單的程式碼範例:

import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
  // URL of the web page to convert to PDF
  const url = "https://google.com";

  // Create a PDF document from the specified URL
  const pdf = await PdfDocument.fromUrl(url);

  // Save the PDF to a file
  await pdf.saveAs("output_from_url.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
  // URL of the web page to convert to PDF
  const url = "https://google.com";

  // Create a PDF document from the specified URL
  const pdf = await PdfDocument.fromUrl(url);

  // Save the PDF to a file
  await pdf.saveAs("output_from_url.pdf");
})();
JAVASCRIPT

這段程式碼使用 IronPDF 庫將網頁(本例中為 Google 首頁)轉換為 PDF 檔案。它指定了網頁的 URL,使用PdfDocument.fromUrl方法產生 PDF 文件,並將其儲存為"output_from_url.pdf"。 整個過程被封裝在一個非同步函數中,以確保順序執行。 這段程式碼片段展示了在Node.js中使用IronPDF進行HTML到PDF轉換的簡單性。

無需 Puppeteer,即可在 Node.js 中將 HTML 轉換為 PDF,圖 1:使用 IronPDF 庫從 URL 產生的輸出 PDF 使用 IronPDF 庫從 URL 產生輸出 PDF 文件

4.2. 將 HTML 字串轉換為 PDF 文件

如果您有 HTML 內容字串,需要將其轉換為 PDF,IronPDF 也為此場景提供了一個方便的方法:

import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
  // Create a PDF from an HTML string
  const htmlString = "<h1>Hello Developers! This is an Example PDF created with IronPDF</h1>";
  const pdf = await PdfDocument.fromHtml(htmlString);

  // Export the PDF to a file
  await pdf.saveAs("output.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
  // Create a PDF from an HTML string
  const htmlString = "<h1>Hello Developers! This is an Example PDF created with IronPDF</h1>";
  const pdf = await PdfDocument.fromHtml(htmlString);

  // Export the PDF to a file
  await pdf.saveAs("output.pdf");
})();
JAVASCRIPT

此程式碼範例使用 IronPDF 庫將簡單的 HTML 字串(標題標籤)快速轉換為 PDF 文件。 然後,它將生成的 PDF 文件保存為"output.pdf"。腳本簡潔明了,採用非同步函數進行順序執行。 這展示了在Node.js環境下使用IronPDF從HTML建立PDF的簡易性。

無需 Puppeteer,即可在 Node.js 中將 HTML 轉換為 PDF,圖 2:使用 IronPDF 庫從 HTML 字串產生的輸出 PDF 使用 IronPDF 庫從 HTML 字串產生輸出 PDF

4.3. HTML 檔案轉 PDF

對於 HTML 內容儲存在文件中的情況,IronPDF 提供了一種將其轉換為 PDF 的簡單方法。 以下是一個範例:

import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
  // Render the HTML file
  const pdf = await PdfDocument.fromHtml("label.html");

  // Export the PDF document
  await pdf.saveAs("output.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
  // Render the HTML file
  const pdf = await PdfDocument.fromHtml("label.html");

  // Export the PDF document
  await pdf.saveAs("output.pdf");
})();
JAVASCRIPT

此程式碼片段利用 IronPDF 庫將 HTML 檔案("label.html")的內容轉換為 PDF 文件。 渲染後的PDF檔案將儲存為"output.pdf"。 該過程的簡單性體現在其簡潔的腳本中,該腳本採用非同步函數在 Node.js 環境中進行順序執行。

在不使用 Puppeteer 的情況下,如何在 Node.js 中將 HTML 轉換為 PDF,圖 3:使用 IronPDF 庫從 HTML 檔案產生的輸出 PDF 使用 IronPDF 庫從 HTML 文件產生輸出 PDF 文件

5.結論

本指南探討了在Node.js環境下,無需依賴Puppeteer即可將HTML轉換為PDF的過程。 IronPDF被證明是一個強大而高效的替代方案,它提供了一系列用於處理 PDF 相關任務的功能。 無論您需要將 URL、HTML 字串或 HTML 文件轉換為 PDF,還是從 PNG 圖片產生 PDF 文件,IronPDF 都能提供無縫解決方案。

在將 HTML 轉 PDF 轉換功能整合到 Node.js 應用程式中時,請考慮專案的特定要求以及 IronPDF 提供的靈活性。 IronPDF 易於使用且功能強大,對於尋求在 Node.js 中產生 PDF 的可靠輕量級解決方案的開發人員來說,它是一款非常有價值的工具。

要了解有關IronPDF for Node.js 的更多信息,請訪問文件頁面。 使用 IronPDF for Node.js 將 HTML 轉換為 PDF 的完整教學課程可在以下Node.js 教學連結中找到。

IronPDF 提供免費試用許可證,供使用者入門,然後再決定是否購買永久許可證

常見問題解答

如何在不使用 Puppeteer 的情況下,用 Node.js 將 HTML 轉換為 PDF?

在Node.js中,無需使用Puppeteer,即可利用IronPDF庫將HTML轉換為PDF。 IronPDF允許您使用諸如PdfDocument.fromHtmlPdfDocument.fromUrl等簡單易用的方法來執行此轉換。

在Node.js中,我該使用什麼方法將網頁轉換為PDF?

要在 Node.js 中將網頁轉換為 PDF,可以使用 IronPDF 的PdfDocument.fromUrl方法,可以輕鬆地將網頁渲染為 PDF 文件。

如何在Node.js專案中安裝IronPDF?

若要將 IronPDF 安裝到您的 Node.js 專案中,請在終端機中使用指令npm install @ironsoftware/ironpdf

IronPDF 能否將 HTML 檔案轉換為 PDF 檔案?

是的,IronPDF 可以使用PdfDocument.fromHtmlFile等方法將 HTML 文件轉換為 PDF,從而實現高效的基於文件的轉換。

與 Puppeteer 相比,使用 IronPDF 進行 HTML 轉 PDF 轉換的主要優勢是什麼?

IronPDF 提供了一個輕量級的 HTML 轉 PDF 解決方案,無需像 Puppeteer 這樣的無頭瀏覽器。它高效、易用,並且具有跨平台相容性,使其成為 Node.js 應用程式中各種 PDF 操作的理想選擇。

如何保存IronPDF產生的PDF檔案?

您可以使用saveAs方法儲存 IronPDF 產生的 PDF 文件,該方法可讓您指定輸出 PDF 的所需檔案名稱。

IronPDF 是否支援在 Node.js 環境中跨平台使用?

是的,IronPDF 的設計旨在跨不同作業系統無縫運行,確保在 Node.js 環境中行為一致且相容。

IronPDF 有免費試用版嗎?

是的,IronPDF 提供免費試用許可證,允許開發人員在決定購買永久許可證之前測試其功能。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。