IRONSOFTWAREHOME

IronPDF NestJS TypeScript 构建错误

Curtis Chau
Curtis Chau
Updated: 2026年6月10日

将 IronPDF Node.js SDK 添加到 NestJS 项目会导致 TypeScript 在编译时失败:

Type '{ maxHeight?: number; htmlFragment?: string; ... }' is not assignable to type 'HtmlAffix'.
Text

IronPDF SDK 内的 Zod 模式声明 (affixSchema.ts, imageSchema.ts, pageSchema.ts) 定义的类型与 NestJS TypeScript 构建中预期的对象结构不匹配。 NestJS 实施更严格的模块解析规则,比普通 Node.js 项目更加严格,这在编译时就暴露出这些内部不匹配。

解决方案

以 Docker 容器形式运行 IronPdfEngine,并配置 SDK 通过 HTTP 连接到它。这将 IronPDF SDK 的 Zod 类型从 NestJS 模块解析中移除,阻止构建失败。

启动 IronPdfEngine 容器:

docker run -p 5000:33350 ironsoftwareofficial/ironpdfengine:2025.6.5
SHELL

配置 IronPDF 使用容器:

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

IronPdfGlobalConfig.getConfig().ironPdfEngineDockerAddress = "http://localhost:5000";
TypeScript

从 NestJS 服务正常使用 IronPDF:

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

const pdf = await PdfDocument.fromHtml("<h1>Hello PDF</h1>");
await pdf.saveAs("output.pdf");
TypeScript

当引擎在 Docker 中运行时,NestJS 应用通过 HTTP 调用 IronPdfEngine。SDK 的内部 Zod 类型声明不再参与 TypeScript 编译。

Curtis Chau
技术作家

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

...
阅读更多

准备开始了吗?

版本:2026.6刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
Node.js 模块下载用于 PDF
using npm 安装

版本: 2026.6

  1. 下载并安装 Node.js 12+。
  2. 在终端中执行上述命令。

$999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户
Node.js 模块下载用于 PDF
using npm 安装

版本: 2026.6

  1. 下载并安装 Node.js 12+。
  2. 在终端中执行上述命令。

$999