Erreurs de construction de TypeScript NestJS avec IronPDF

Curtis Chau
Curtis Chau
Updated: 10 juin 2026

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'.
Text

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
SHELL

Configurez IronPDF pour utiliser le conteneur :

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

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

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");
TypeScript

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.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

Lire la suite

Prêt à commencer?

Version :2026.10vient de sortir