如何在 Node.js 中使用 IronPdfEngine
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簡化工作流程(5 個步驟)
- 請使用
npm install @ironsoftware/ironpdf安裝 IronPDF for Node.js 套件。 - 首次執行時,IronPDF 會偵測您的平台並下載正確的 IronPdfEngine 二進位檔。
- 若需離線部署或追求更快的啟動速度,請安裝特定平台的引擎套件,例如
@ironsoftware/IronPDF-engine-Windows-x64。 - 在部署遠端執行個體之前,請透過
IronPdfGlobalConfig.ironPdfEngineVersion屬性檢查所需的引擎版本。 - 若使用遠端引擎,請在執行任何 PDF 操作之前呼叫
IronPdfGlobalConfig.setConfig({ ironPdfEngineDockerAddress: "host:port" })。
為什麼 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優點:
- 保持應用程式套件體積小巧。
- 無需進行平台專屬設定,即可部署至多種平台。
缺點:
- 首次執行時需連線至網際網路。
- 首次執行時,由於需載入二進位檔,啟動時間會較長。
選項 2(建議):將 IronPdfEngine 安裝為依賴項
IronPDF for Node.js 支援專用引擎套件,這些套件會將 IronPdfEngine 二進位檔針對特定平台進行封裝。 請在主函式庫旁安裝一個或多個這些套件,以避免執行時下載。
ironpdf 與 ironpdf-engine-xxx-xxx 套件的版本必須相同。 (引擎套件的版本號指 IronPDF 的發行版本,而非內部引擎建置版本。)}]Windows x64:
//:path=shell
npm install @ironsoftware/ironpdf-engine-windows-x64//:path=shell
npm install @ironsoftware/ironpdf-engine-windows-x64Windows x86:
//:path=shell
npm install @ironsoftware/ironpdf-engine-windows-x86//:path=shell
npm install @ironsoftware/ironpdf-engine-windows-x86Linux x64:
//:path=shell
npm install @ironsoftware/ironpdf-engine-linux-x64//:path=shell
npm install @ironsoftware/ironpdf-engine-linux-x64macOS x64:
//:path=shell
npm install @ironsoftware/ironpdf-engine-macos-x64//:path=shell
npm install @ironsoftware/ironpdf-engine-macos-x64macOS arm64:
//:path=shell
npm install @ironsoftware/ironpdf-engine-macos-arm64//:path=shell
npm install @ironsoftware/ironpdf-engine-macos-arm64優點:
- 啟動更快速 — 執行時無需下載。
- 安裝依賴項後無需網路連線。
缺點:
- 應用程式套件大小較大。
- 需在建置時指定目標平台。
如何連線至遠端的 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}`);指定 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"
});該位址必須可從 Node.js 主機存取。請確認沒有任何防火牆規則阻擋應用程式伺服器與引擎主機之間的 33350 埠。
ironpdf-engine-xxx-xxx 依賴套件。 一旦設定 ironPdfEngineDockerAddress,本地引擎將被完全繞過。接下來該怎麼做?
設定 IronPdfEngine 是 Node.js 中所有 PDF 作業的基礎。 一旦引擎開始運作(無論是本地或遠端),完整的 IronPDF API 即刻可用:將 HTML 轉換為 PDF、合併文件、添加印章和浮水印、提取文字等。
- 啟用免費試用授權,即可解鎖所有功能並移除浮水印。
- 購買授權以進行生產環境部署。
- 繼續閱讀完整的 Node.js 入門教學:IronPDF for Node.js — 入門指南。
常見問題
什麼是 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 主機與引擎主機之間的該埠已開啟。





