IronPDF NestJS TypeScript 構建錯誤

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

將 IronPDF Node.js SDK 新增到 NestJS 專案中會導致 TypeScript 在編譯時失敗:

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

IronPDF SDK 內的 Zod schema 聲明 (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
docker run -p 5000:33350 ironsoftwareofficial/ironpdfengine:2025.6.5
SHELL

配置 IronPDF 使用該容器:

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

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

從 NestJS 服務正常使用 IronPDF:

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

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

當引擎在 Docker 中運行時,NestJS 應用程式通過 HTTP 呼叫 IronPdfEngine。SDK 的內部 Zod 型別聲明不再參與 TypeScript 編譯。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
版本: 2026.6 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想要快速的證據嗎?
運行範例觀看您的HTML變為PDF。