IRONSOFTWAREHOME

Comment créer des fichiers PDF en Node.js

Curtis Chau
Curtis Chau
Updated: 29 juin 2026

Créer des fichiers PDF de manière programmatique dans Node.js nécessite une bibliothèque qui gère correctement le rendu HTML, prend en charge les CSS modernes, et s'intègre proprement avec les modèles d'asynchronisme de Node. IronPDF utilise un moteur de rendu basé sur Chromium pour convertir le contenu HTML en PDF correspondant à la sortie d'impression de Chrome, prenant en charge le CSS complet, JavaScript en ligne et les mises en page réactives dès le départ.

Ce guide couvre le flux de travail complet : installation, génération de PDF à partir de chaînes HTML, fichiers HTML, et URL, configuration des options de sortie, et application des fonctionnalités d'entreprise comme les en-têtes, pieds de page, signatures numériques, et le cryptage.

Démarrage rapide : Créer un PDF dans Node.js
  1. Installez IronPDF via npm : npm install @ironsoftware/ironpdf
  2. Importez PdfDocument de @ironsoftware/ironpdf
  3. Appelez PdfDocument.fromHtml() avec votre contenu HTML
  4. Appelez .saveAs() pour écrire le fichier PDF sur disque
import { PdfDocument } from "@ironsoftware/ironpdf";

const pdf = await PdfDocument.fromHtml("<h1>Hello, PDF!</h1><p>Generated with IronPDF.</p>");
await pdf.saveAs("output.pdf");
JavaScript

Configurez IronPdfEngine pour votre plateforme avant d'exécuter en production. Voir le guide de configuration IronPdfEngine pour Windows, Linux, macOS, et Docker.

Comment installer IronPDF for Node.js?

Install the @ironsoftware/ironpdf package using npm. Le package fonctionne avec Node.js 12.0 ou supérieur et prend en charge les formats de module ESM et CommonJS.

//:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/install.sh
npm install @ironsoftware/ironpdf
SHELL

IronPDF for Node.js dépend du binaire IronPDF Engine, qui gère le rendu sous-jacent basé sur Chromium. Le moteur se télécharge automatiquement lors de la première exécution, mais vous pouvez préinstaller le package spécifique à la plateforme pour éviter les téléchargements au moment de l'exécution. Cela est utile dans les environnements réseau restreints ou les pipelines CI basés sur Docker :

Paquets de la plateforme IronPDF Engine pour une préinstallation dans des environnements hors ligne ou restreints
Plate-formeEmballer
Windows x64@ironsoftware/IronPDF-engine-Windows-x64
T123 Linux x64@ironsoftware/IronPDF-engine-linux-x64
T124 macOS x64@ironsoftware/IronPDF-engine-macos-x64
T125 macOS ARM@ironsoftware/IronPDF-engine-macos-arm64
Veuillez noter: Une clé de licence valide supprime le filigrane des PDF générés. Appliquez-le avant votre premier appel PdfDocument en définissant IronPdfGlobalConfig.setConfig({ licenseKey: "YOUR-KEY" }). Suivez les instructions complètes de configuration de la clé de licence.

Quelles sont les exigences système pour IronPDF?

IronPDF for Node.js fonctionne sur Node.js 12.0 ou supérieur sous Windows, Linux, macOS, et dans les environnements Docker. La bibliothèque prend en charge les architectures x64 et ARM64, ce qui la rend adaptée au développement local et aux déploiements containerisés. Pour les environnements cloud, IronPDF prend également en charge la connexion à un moteur IronPDF distant au lieu d'exécuter le moteur localement.


Comment créer un PDF à partir de HTML dans Node.js ?

Utilisez PdfDocument.fromHtml() pour générer un PDF à partir d'une chaîne HTML. La méthode accepte n'importe quel HTML valide, y compris les blocs <style> en ligne, les polices externes chargées via CDN, et les systèmes de mise en page comme CSS Grid ou Flexbox. Le moteur de rendu Chromium résout toutes les ressources avant de générer le PDF.

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

const htmlContent = `
  <!DOCTYPE html>
  <html>
  <head>
    <style>
      body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
      .header { background: #2b4c8c; color: white; padding: 24px 32px; }
      .header h1 { margin: 0; font-size: 22px; }
      .body { padding: 32px; }
      table { width: 100%; border-collapse: collapse; margin-top: 16px; }
      th { background: #f0f4fb; text-align: left; padding: 8px 12px; }
      td { padding: 8px 12px; border-bottom: 1px solid #e0e0e0; }
    </style>
  </head>
  <body>
    <div class="header"><h1>Invoice #INV-2025-0042</h1></div>
    <div class="body">
      <p>Date: ${new Date().toLocaleDateString()}</p>
      <table>
        <tr><th>Item</th><th>Qty</th><th>Unit Price</th><th>Total</th></tr>
        <tr><td>IronPDF Enterprise License</td><td>1</td><td>$499.00</td><td>$499.00</td></tr>
        <tr><td>Priority Support (1 year)</td><td>1</td><td>$199.00</td><td>$199.00</td></tr>
      </table>
      <p style="text-align:right; margin-top:16px;"><strong>Total: $698.00</strong></p>
    </div>
  </body>
  </html>`;

// Generate the PDF from the HTML string
const pdf = await PdfDocument.fromHtml(htmlContent);
await pdf.saveAs("invoice.pdf");
JavaScript

PdfDocument.fromHtml() retourne une instance PdfDocument. Appelez saveAs() avec votre chemin de sortie souhaité pour écrire le fichier. La méthode est asynchrone, utilisez donc await ou enchaînez un gestionnaire .then(). Le moteur Chromium gère le chargement des polices, les feuilles de style externes et la résolution des actifs avant la capture de la sortie. Pour plus de schémas, consultez l'exemple de création de PDF à partir de chaîne HTML.

Comment créer un PDF à partir d'un fichier HTML ?

Chargez un fichier .html existant depuis le disque en utilisant PdfDocument.fromFile(). Cette approche est idéale pour les documents modélisés où le HTML est maintenu séparément de la logique de l'application.

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

// Load an HTML file and render it as a PDF
const pdf = await PdfDocument.fromFile("./templates/report-template.html");
await pdf.saveAs("./output/report.pdf");
JavaScript

Le moteur de rendu résout les chemins des actifs relatifs à partir du répertoire du fichier HTML, de sorte que les références CSS et d'images locales fonctionnent sans configuration supplémentaire. Voir l'exemple de fichier HTML vers PDF pour des options supplémentaires, y compris comment remplacer l'URL de base pour la résolution des actifs.

Comment générer un PDF à partir d'une URL ?

Utilisez PdfDocument.fromUrl() pour rendre une page web en direct en tant que PDF. Le moteur charge la page sous forme de session complète du navigateur, exécute JavaScript, applique CSS et attend le contenu dynamique avant de capturer le résultat.

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

// Render a live webpage to PDF
const pdf = await PdfDocument.fromUrl("https://ironpdf.com/nodejs/");
await pdf.saveAs("ironpdf-homepage.pdf");
JavaScript

Pour les pages qui chargent du contenu de manière asynchrone via JavaScript, associez cela avec une option renderDelay (en millisecondes) pour permettre un temps supplémentaire avant la capture. L'exemple URL vers PDF démontre la configuration du délai et des en-têtes d'authentification.


Comment configurer les paramètres de sortie PDF ?

Passez un objet de configuration en tant que second argument à PdfDocument.fromHtml(), PdfDocument.fromFile(), ou PdfDocument.fromUrl(). L'objet de configuration accepte la taille du papier, les marges, l'orientation et les options de rendu.

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

const config = {
    paperSize: PdfPaperSize.A4,
    marginTop: 25,
    marginBottom: 25,
    marginLeft: 20,
    marginRight: 20,
    landscape: false,
    printBackground: true,
};

const pdf = await PdfDocument.fromHtml("<h1>Configured PDF</h1>", config);
await pdf.saveAs("configured-output.pdf");
JavaScript

Les options de configuration clés incluent :

  • paperSize : accepte des valeurs énum PdfPaperSize (A4, Lettre, Légal, et tailles personnalisées)
  • landscape : réglez true pour l'orientation des pages en paysage
  • printBackground : inclure les couleurs et images de fond CSS
  • marginTop/Bottom/Left/Right : marges de page en millimètres
  • renderDelay : millisecondes à attendre avant capture pour les pages riches en JavaScript

Comment ajouter des en-têtes et pieds de page à un PDF ?

Ajoutez des en-têtes et pieds de page en fournissant les propriétés htmlHeader et htmlFooter dans l'objet de configuration. Les deux acceptent des chaînes HTML complètes, permettant un contenu stylé avec des numéros de page, des dates et du texte dynamique.

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

const config = {
    htmlHeader: {
        htmlFragment: "<div style='text-align:center; font-size:12px; color:#666;'>Quarterly Report - Confidential</div>",
        dividerLine: true,
    },
    htmlFooter: {
        htmlFragment: "<div style='text-align:right; font-size:10px;'>Page {page} of {total-pages}</div>",
        dividerLine: true,
    },
};

const pdf = await PdfDocument.fromHtml("<h1>Q3 Financial Summary</h1><p>See attached tables.</p>", config);
await pdf.saveAs("report-with-headers.pdf");
JavaScript

Utilisez les tokens {page} et {total-pages} dans le HTML du pied de page ; IronPDF substitue les valeurs correctes lors du rendu. Pour plus de modèles d'en-têtes et pieds de page, y compris des en-têtes et pieds de page HTML et des techniques avancées d'en-tête, consultez les exemples liés.


Comment ajouter de la sécurité et des métadonnées à un PDF ?

Appliquez une protection par mot de passe et un cryptage à un PDF généré en utilisant les méthodes de sécurité PdfDocument. La bibliothèque prend en charge à la fois les mots de passe propriétaire et utilisateur, avec des contrôles de permission granulaires pour l'impression, la copie et la modification.

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

const pdf = await PdfDocument.fromHtml("<h1>Confidential Document</h1>");

// Apply password protection with granular permissions
await pdf.securePdf({
    userPassword: "view-password",
    ownerPassword: "admin-password",
    allowUserAnnotations: false,
    allowUserPrinting: true,
    allowUserCopyPasteContent: false,
});

await pdf.saveAs("secured-document.pdf");
JavaScript

Le chiffrement et le déchiffrement utilisent par défaut le chiffrement AES 256 bits lorsque des mots de passe sont appliqués. Pour les flux de travail d'authentification de documents, IronPDF prend également en charge les signatures numériques utilisant des certificats X.509.

Conseils: Pour des documents qui nécessitent une conformité archivistique à long terme, utilisez PdfDocument.fromHtml() suivi de la méthode de conversion PDF/A. IronPDF prend en charge la conformité PDF/A et les normes d'accessibilité PDF/UA.

Comment fusionner et manipuler des PDF existants ?

PdfDocument fournit des méthodes pour fusionner, diviser et modifier des fichiers PDF existants. Chargez un PDF existant avec PdfDocument.fromFile() et utilisez les méthodes de manipulation pour ajouter ou supprimer des pages, tamponner le contenu, ou remplacer du texte.

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

// Merge two PDF files into one
const merged = await PdfDocument.mergePdf([
    await PdfDocument.fromFile("./report-part1.pdf"),
    await PdfDocument.fromFile("./report-part2.pdf"),
]);

await merged.saveAs("./complete-report.pdf");
JavaScript

PdfDocument.mergePdf() accepte un tableau d'instances PdfDocument et retourne un seul document fusionné. L'ordre des pages suit l'ordre du tableau, de sorte que la sortie préserve la séquence des fichiers d'entrée.

Autres opérations de manipulation courantes :

Pour des scénarios à fort volume, la génération de PDF multi-threadée vous permet de traiter plusieurs documents en parallèle. La compression PDF réduit la taille des fichiers pour le stockage et la transmission.


Comment générer des PDF pour un contenu complexe comme des graphiques et des pages Angular ?

IronPDF rend les pages en utilisant une session complète du navigateur Chromium, ce qui signifie que les bibliothèques JavaScript qui produisent des graphiques, des diagrammes ou des visualisations de données sont correctement rendues, y compris les bibliothèques de graphiques JavaScript. Les applications monopages construites avec des frameworks tels qu'Angular se convertissent également proprement en utilisant l'exemple Angular vers PDF.

Pour les documents riches en Unicode ou la sortie multilingue, IronPDF gère Unicode et les jeux de caractères internationaux sans configuration supplémentaire. L'exemple d'intégration des Google Fonts montre comment charger des polices web dans le HTML restitué pour une typographie cohérente dans le PDF de sortie.

Veuillez noter: Le moteur de rendu Chromium d'IronPDF exécute JavaScript avant de capturer le PDF. Si votre bibliothèque de graphiques ou votre SPA nécessite plus de temps pour rendre les données après le chargement du DOM, définissez renderDelay en millisecondes pour donner à la page le temps de se rendre entièrement.

Quelles sont les prochaines étapes pour créer des PDF dans Node.js ?

Ce guide a couvert le flux de travail de base d'IronPDF : installer la bibliothèque, générer des PDF à partir de chaînes HTML, de fichiers et d'URLs, configurer les paramètres de sortie, ajouter des en-têtes et pieds de page, appliquer la sécurité et manipuler des PDF existants.

Pour continuer, essayez le tutoriel complet HTML vers PDF pour une analyse plus approfondie des options de rendu, ou consultez la référence API pour la liste complète des méthodes PdfDocument et des propriétés de configuration.

Commencez votre essai gratuit pour générer des PDF sans filigrane, ou consultez les options de licence pour les déploiements en production.

Questions Fréquemment Posées

Quel est le moyen le plus simple de créer des fichiers PDF en Node.js ?

Installez IronPDF avec npm install @ironsoftware/ironpdf, puis appelez PdfDocument.fromHtml() avec votre chaîne HTML et enregistrez le résultat en utilisant saveAs(). La bibliothèque gère tous les rendus automatiquement.

Comment installer IronPDF for Node.js ?

Exécutez npm install @ironsoftware/ironpdf dans le répertoire de votre projet. Le binaire du moteur IronPDF se télécharge automatiquement lors de la première utilisation. Pour les environnements hors ligne ou CI, installez le package moteur spécifique à la plate-forme tel que @ironsoftware/ironpdf-engine-linux-x64 séparément.

Puis-je convertir du HTML en PDF tout en préservant les styles et le formatage CSS ?

Oui. IronPDF utilise un moteur de rendu basé sur Chromium qui préserve tous les styles CSS, les polices externes et l'exécution JavaScript lors de la conversion de HTML en PDF. La sortie correspond au comportement de prévisualisation d'impression de Chrome.

Quelles fonctionnalités PDF sont disponibles au-delà de la conversion HTML basique ?

IronPDF supporte les signatures numériques, le chiffrement AES 256 bits, la protection par mot de passe avec des permissions granulaires, les en-têtes et les pieds de page personnalisés avec des jetons de numéro de page, la fusion de PDF, la suppression de pages, le timbrage HTML, l'extraction de texte, la conformité PDF/A et la génération multi-thread.

Comment créer un PDF à partir d'un fichier HTML sur disque ?

Utilisez PdfDocument.fromFile('./path/to/template.html'). Le moteur résout les chemins relatifs des ressources depuis le répertoire du fichier HTML, donc les références locales CSS et image fonctionnent sans configuration supplémentaire.

Puis-je extraire du texte de fichiers PDF existants en utilisant IronPDF ?

Oui. Chargez un PDF existant avec PdfDocument.fromFile() et utilisez les méthodes d'extraction de texte pour lire le contenu de n'importe quelle page. IronPDF supporte à la fois la création de nouveaux PDF et le traitement de documents existants.

IronPDF supporte-t-il l'exécution de JavaScript lors du rendu HTML ?

Oui. Le moteur Chromium exécute JavaScript avant de capturer le PDF. Pour les pages qui chargent du contenu de manière asynchrone, définissez l'option renderDelay en millisecondes pour donner à la page du temps supplémentaire avant la capture.

Is it possible to apply digital signatures to PDFs with IronPDF?

Yes, IronPDF supports applying digital signatures to PDFs using X.509 certificates. This feature is useful for document authentication and secure workflows.

How does IronPDF handle complex content like charts in PDFs?

IronPDF uses a full Chromium browser session to render pages, which means JavaScript chart libraries and frameworks like Angular are fully supported. This allows charts, graphs, and other complex visualizations to render correctly in the output PDFs.

What are the system requirements for using IronPDF on Node.js?

IronPDF requires Node.js 12.0 or higher and runs on Windows, Linux, macOS, and Docker environments. It supports both x64 and ARM64 architectures, making it suitable for various deployment scenarios including local development and cloud environments.

Curtis Chau
Rédacteur technique

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.6vient de sortir

Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Téléchargement du module Node.js pour PDF
Installer avec npm

Version : 2026.6

  1. Téléchargez et installez Node.js 12+.
  2. Exécutez la commande ci-dessus dans le terminal.

Licences à partir de 749 $

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise