如何在Node.js中使用IronPdfEngine

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

IronPdfEngine是一个处理所有PDF操作的gRPC服务器 — 创建、编辑和读取 — 代表Node.js客户端执行。 @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生成是共享服务时,远程部署是合适的 — 例如,在容器化的微服务架构中,Kubernetes集群中多个Node.js服务共享一个引擎pod,或者在任何通过集中渲染过程降低每个服务开销的环境中。 在连接之前,通过如何拉取和运行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镜像标签时使用打印出的版本号。 运行不匹配的版本会导致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 是一个 gRPC 服务器,处理所有 PDF 的渲染、编辑和读取操作。@ironsoftware/ironpdf Node.js 包是与 IronPdfEngine 通过 gRPC 通信的客户端包装器,因此引擎必须正在运行 - 本地或远程 - 才能成功进行任何 PDF 操作。

如何安装 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 适用于容器化微服务架构,Kubernetes 部署,其中多个 Node.js 服务共享单个渲染 pod,或者任何集中化 PDF 处理减少每个服务资源开销的场景。

我如何将 Node.js 连接到远程 IronPdfEngine?

在应用程序启动时调用 IronPdfGlobalConfig.setConfig({ ironPdfEngineDockerAddress: "host:port" }),在任何 IronPDF 方法之前。用远程引擎的 IP 地址和端口(默认 33350)替代 host:port。确保地址可到达且没有被防火墙阻止。

在使用远程 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 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
版本: 2026.5 just released
Still Scrolling Icon

还在滚动吗?

想快速获得证据?
运行示例看着你的HTML代码变成PDF文件。