Erreurs de construction de TypeScript NestJS avec IronPDF
L'ajout du SDK IronPDF Node.js à un projet NestJS entraîne l'échec de TypeScript lors de la compilation :
Type '{ maxHeight?: number; htmlFragment?: string; ... }' is not assignable to type 'HtmlAffix'.
Les déclarations de schémas Zod à l'intérieur du SDK IronPDF (affixSchema.ts, imageSchema.ts, pageSchema.ts) définissent des types qui ne correspondent pas aux formes d'objets attendues dans les constructions de TypeScript NestJS. NestJS impose une résolution de module plus stricte qu'un projet Node.js standard, ce qui met en évidence ces discordances internes au moment de la compilation.
Solution
Exécutez IronPdfEngine en tant que conteneur Docker et configurez le SDK pour se connecter à celui-ci via HTTP. Cela supprime les types Zod du SDK IronPDF de la résolution de module NestJS, empêchant les échecs de construction.
Démarrer le conteneur IronPdfEngine :
docker run -p 5000:33350 ironsoftwareofficial/ironpdfengine:2025.6.5
docker run -p 5000:33350 ironsoftwareofficial/ironpdfengine:2025.6.5
Configurez IronPDF pour utiliser le conteneur :
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
IronPdfGlobalConfig.getConfig().ironPdfEngineDockerAddress = "http://localhost:5000";
Utilisez IronPDF normalement depuis un service NestJS :
import { PdfDocument } from "@ironsoftware/ironpdf";
const pdf = await PdfDocument.fromHtml("<h1>Hello PDF</h1>");
await pdf.saveAs("output.pdf");
Avec le moteur fonctionnant dans Docker, l'application NestJS appelle IronPdfEngine via HTTP. Les déclarations de types Zod internes du SDK ne participent plus à la compilation TypeScript.

