IronPDF NestJS TypeScript Build Errors

Curtis Chau
Curtis Chau
Updated: 10. Juni 2026

Das Hinzufügen des IronPDF Node.js SDK zu einem NestJS-Projekt führt zu einem Fehler beim Kompilieren in TypeScript:

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

Zod-Schema-Deklarationen innerhalb des IronPDF SDK (affixSchema.ts, imageSchema.ts, pageSchema.ts) definieren Typen, die nicht den erwarteten Objektschemata in NestJS TypeScript-Builds entsprechen. NestJS erzwingt eine strengere Modulauflösung als ein einfaches Node.js-Projekt, was diese internen Abweichungen zur Kompilierungszeit sichtbar macht.

Lösung

Führen Sie IronPdfEngine als Docker-Container aus und konfigurieren Sie das SDK, um über HTTP darauf zuzugreifen. Dadurch werden die Zod-Typen des IronPDF SDK aus der NestJS-Modulauflösung entfernt, was die Build-Fehler behebt.

Start the IronPdfEngine container:

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

Konfigurieren Sie IronPDF zur Nutzung des Containers:

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

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

Verwenden Sie IronPDF normal von einem NestJS-Dienst aus:

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

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

Mit dem in Docker laufenden Engine ruft die NestJS-Anwendung IronPdfEngine über HTTP auf. Die internen Zod-Typ-Deklarationen des SDK nehmen nicht mehr an der TypeScript-Kompilierung teil.

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

Weiterlesen

Bereit anzufangen?

Version:2026.10gerade veröffentlicht