如何在 Node.js 中使用 IronPdfEngine

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPdfEngine 是一個 gRPC 伺服器,負責代表 Node.js 客戶端處理所有 PDF 操作,包括建立、編輯及讀取。 @ironsoftware/ironpdf 套件是一個輕量級 API 封裝層,透過 gRPC 與 IronPdfEngine 進行通訊; 您 Node.js 程式碼中的每個方法呼叫,皆會在該伺服器程序內執行。 預設情況下,IronPDF for Node.js 會將 IronPdfEngine 作為本地子程序啟動,但您也可以將其指向遠端託管的實例,以支援共享或容器化部署。

快速入門:為 Node.js 設定 IronPdfEngine

安裝套件後,IronPdfEngine 將在執行首次 PDF 操作時自動運行:

//:path=shell
npm install @ironsoftware/ironpdf
//:path=shell
npm install @ironsoftware/ironpdf
SHELL

為什麼 IronPDF for Node.js 需要 IronPdfEngine?

IronPDF for Node.js 並未內建獨立的 PDF 渲染器。 Node.js 套件是一個 gRPC 客戶端,而 IronPdfEngine 則是負責實際渲染、編輯和讀取工作的伺服器。 當您的應用程式呼叫任何 IronPDF 方法時,請求會透過 gRPC 傳送至引擎程序,該程序會將結果傳回給您的 Node.js 程式碼。

此架構使 Node.js 套件保持輕量級,並將渲染環境隔離。 這也意味著引擎版本必須與套件版本完全一致——不支援跨版本的組合。

請注意 @ironsoftware/ironpdf 的每個版本均需搭配同版本的 IronPdfEngine。在部署任何引擎更新前,請先查閱 IronPdfGlobalConfig.ironPdfEngineVersion 屬性以確認相容性。


如何在本地執行 IronPdfEngine?

本地部署為預設模式。 IronPDF for Node.js 會在啟動時將 IronPdfEngine 作為子程序啟動,並與其保持通訊,直至您的應用程式關閉為止。 提供兩種安裝方式,各自有不同的取捨。

選項 1:在執行階段下載 IronPdfEngine

安裝 @ironsoftware/ironpdf 後,無需安裝其他套件。 首次執行時,IronPDF 會偵測主機平台(例如 Windows x64),並從網路上下載相應的 IronPdfEngine 二進位檔。

//:path=shell
npm install @ironsoftware/ironpdf
//:path=shell
npm install @ironsoftware/ironpdf
SHELL

優點:

  • 保持應用程式套件體積小巧。
  • 無需進行平台專屬設定,即可部署至多種平台。

缺點:

  • 首次執行時需連線至網際網路。
  • 首次執行時,由於需載入二進位檔,啟動時間會較長。

選項 2(建議):將 IronPdfEngine 安裝為依賴項

IronPDF for Node.js 支援專用引擎套件,這些套件會將 IronPdfEngine 二進位檔針對特定平台進行封裝。 請在主函式庫旁安裝一個或多個這些套件,以避免執行時下載。

重要事項ironpdfironpdf-engine-xxx-xxx 套件的版本必須相同。 (引擎套件的版本號指 IronPDF 的發行版本,而非內部引擎建置版本。)}]

Windows x64:

//:path=shell
npm install @ironsoftware/ironpdf-engine-windows-x64
//:path=shell
npm install @ironsoftware/ironpdf-engine-windows-x64
SHELL

Windows x86:

//:path=shell
npm install @ironsoftware/ironpdf-engine-windows-x86
//:path=shell
npm install @ironsoftware/ironpdf-engine-windows-x86
SHELL

Linux x64:

//:path=shell
npm install @ironsoftware/ironpdf-engine-linux-x64
//:path=shell
npm install @ironsoftware/ironpdf-engine-linux-x64
SHELL

macOS x64:

//:path=shell
npm install @ironsoftware/ironpdf-engine-macos-x64
//:path=shell
npm install @ironsoftware/ironpdf-engine-macos-x64
SHELL

macOS arm64:

//:path=shell
npm install @ironsoftware/ironpdf-engine-macos-arm64
//:path=shell
npm install @ironsoftware/ironpdf-engine-macos-arm64
SHELL

優點:

  • 啟動更快速 — 執行時無需下載。
  • 安裝依賴項後無需網路連線。

缺點:

  • 應用程式套件大小較大。
  • 需在建置時指定目標平台。

如何連線至遠端的 IronPdfEngine?

當 PDF 生成屬於共享服務時,遠端部署是合適的選擇——例如在容器化微服務架構中、多個 Node.js 服務共用一個引擎 Pod 的 Kubernetes 叢集,或是任何將渲染流程集中化能降低單一服務開銷的環境。 在建立連線之前,請依照《如何拉取並執行 IronPdfEngine》的說明,拉取並啟動 IronPdfEngine Docker 映像檔。

如何驗證所需的引擎版本?

引擎版本必須與 Node.js 套件版本相符。 請讀取 ironPdfEngineVersion 屬性以確認應拉取哪個版本:

//:path=get-started/use-ironpdfengine/check-version.js
const ironPdfEngineVersion = IronPdfGlobalConfig.ironPdfEngineVersion;
console.log(`Required IronPdfEngine version: ${ironPdfEngineVersion}`);
//:path=get-started/use-ironpdfengine/check-version.js
const ironPdfEngineVersion = IronPdfGlobalConfig.ironPdfEngineVersion;
console.log(`Required IronPdfEngine version: ${ironPdfEngineVersion}`);
JAVASCRIPT

指定 Docker 映像標籤時,請使用 PRINT 版本號。 若執行不相容的版本,將導致 gRPC 通訊錯誤。

如何設定遠端連線?

假設 IronPdfEngine 正在 123.456.7.8:33350 處執行。 請將配置呼叫置於應用程式的開頭 — 在任何 IronPDF 方法呼叫之前。

//:path=get-started/use-ironpdfengine/remote-config.js
IronPdfGlobalConfig.setConfig({
    ironPdfEngineDockerAddress: "123.456.7.8:33350"
});
//:path=get-started/use-ironpdfengine/remote-config.js
IronPdfGlobalConfig.setConfig({
    ironPdfEngineDockerAddress: "123.456.7.8:33350"
});
JAVASCRIPT

該位址必須可從 Node.js 主機存取。請確認沒有任何防火牆規則阻擋應用程式伺服器與引擎主機之間的 33350 埠。

提示使用遠端 IronPdfEngine 時,您無需安裝任何 ironpdf-engine-xxx-xxx 依賴套件。 一旦設定 ironPdfEngineDockerAddress,本地引擎將被完全繞過。


接下來該怎麼做?

設定 IronPdfEngine 是 Node.js 中所有 PDF 作業的基礎。 一旦引擎開始運作(無論是本地或遠端),完整的 IronPDF API 即刻可用:將 HTML 轉換為 PDF、合併文件、添加印章和浮水印、提取文字等。

常見問題

什麼是 IronPdfEngine,為什麼 Node.js 需要它?

IronPdfEngine 是一個負責處理所有 PDF 渲染、編輯及讀取操作的 gRPC 伺服器。@ironsoftware/ironpdf Node.js 套件是一個透過 gRPC 與 IronPdfEngine 通訊的客戶端封裝,因此任何 PDF 操作要成功,引擎都必須正在運行(無論是本地或遠端)。

如何安裝適用於 Node.js 的 IronPDF for Node.js?

在您的專案目錄中執行 npm install @ironsoftware/ironpdf。首次執行時,IronPDF 會偵測主機平台並自動下載相應的 IronPdfEngine 二進位檔。

「運行時下載」與「捆綁式依賴項」選項有何區別?

「運行時下載」選項無需額外套件,但首次執行時需連網,且初始啟動速度較慢。至於「捆綁依賴項」選項(選項 2,建議採用),則會安裝特定平台的套件(例如 @ironsoftware/ironpdf-engine-windows-x64),該套件已內含引擎二進位檔,因此啟動速度更快,且安裝後無需連網——但代價是套件檔案較大。

如何確保 IronPdfEngine 版本與我的 IronPDF 套件版本相符?

請於執行時讀取 IronPdfGlobalConfig.ironPdfEngineVersion 屬性,以取得所需的精確版本字串。IronPDF 套件與任何 ironpdf-engine-xxx-xxx 依賴項必須為相同版本;不支援跨版本組合。

何時應使用遠端 IronPdfEngine 而非本地版本?

遠端 IronPdfEngine 適用於容器化微服務架構、多個 Node.js 服務共用單一渲染 Pod 的 Kubernetes 部署,或任何透過集中化 PDF 處理來降低各服務資源開銷的場景。

如何將 Node.js 連接到遠端的 IronPdfEngine?

請在應用程式啟動時,於呼叫任何 IronPDF 方法之前,先呼叫 IronPdfGlobalConfig.setConfig({ ironPdfEngineDockerAddress: "host:port" })。請將 "host:port" 替換為遠端引擎的 IP 位址與埠號(預設為 33350)。請確保該位址可連線,且未被防火牆封鎖。

使用遠端 IronPdfEngine 時,是否需要安裝引擎依賴套件?

不。當設定 ironPdfEngineDockerAddress 時,IronPDF 會完全繞過任何本地引擎。進行遠端部署時,無需安裝任何 ironpdf-engine-xxx-xxx 套件。

IronPdfEngine 支援哪些平台?

現有適用於 Windows x64、Windows x86、Linux x64、macOS x64 及 macOS arm64 的平台專用引擎套件。請安裝與您的部署目標相符的套件,或使用執行階段下載選項,透過單一安裝即可支援多個平台。

我可以在同一個專案中安裝多個特定平台的引擎套件嗎?

是的。您可以在同一個專案中安裝多個 ironpdf-engine-xxx-xxx 套件。IronPDF 會在執行時根據主機平台自動選取正確的二進位檔,這對於需在多個作業系統上建置與部署的專案非常實用。

IronPdfEngine 使用哪個埠進行 gRPC 通訊?

IronPdfEngine 預設監聽 33350 埠。配置遠端連線時,請將此埠號包含在 IronPdfEngineDockerAddress 值中,並確認 Node.js 主機與引擎主機之間的該埠已開啟。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

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

準備開始了嗎?
版本: 2026.5 just released
Still Scrolling Icon

還在捲動嗎?

想要快速證明?
執行範例 觀看您的 HTML 變成 PDF。