Comment créer des fichiers PDF en Node.js

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

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
:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/quickstart.js

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
//: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 noterUne 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.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-string-to-pdf.js

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.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/html-file-to-pdf.js

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.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/url-to-pdf.js

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.


Icon Quote related to Comment générer un PDF à partir d'une URL ?

Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic related to Comment générer un PDF à partir d'une URL ?

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas
Icon Quote related to Comment générer un PDF à partir d'une URL ?

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle related to Comment générer un PDF à partir d'une URL ?

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas
Icon Quote related to Comment générer un PDF à partir d'une URL ?

Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.

David Jones related to Comment générer un PDF à partir d'une URL ?

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

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.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/pdf-settings.js

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.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/headers-footers.js

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.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/security.js

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.

ConseilsPour 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.

:path=/static-assets/pdf/content-code-examples/tutorials/nodejs-create-pdf/merge-pdfs.js

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 noterLe 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.

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite
Prêt à commencer?
Version : 2026.6 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ?
exécuter un échantillon Regardez votre code HTML se transformer en PDF.