IRONSOFTWAREHOME

Comment remplir des champs de formulaire PDF dans Node.js

Curtis Chau
Curtis Chau
Updated: 4 juin 2026

Remplir des formulaires PDF de manière programmatique dans Node.js vous permet d'automatiser les flux de travail de documents : de la population de formulaires d'application avec des enregistrements de base de données à la génération de certificats personnalisés à grande échelle. IronPDF for Node.js fournit une API simple pour charger des PDF existants, écrire des valeurs dans les champs de formulaire, et enregistrer les documents complétés sans quitter votre environnement JavaScript.

Ce guide couvre l'intégralité du flux de travail : installation du package, application d'une clé de licence, remplissage des champs texte, cases à cocher, listes déroulantes et boutons radio, aplatissement des champs de formulaire pour verrouiller les valeurs, et enregistrement du résultat. Tous les exemples de code utilisent await et le paquet @ironsoftware/ironpdf.

Démarrage rapide : Remplir un formulaire PDF avec Node.js

Installez le package, puis chargez et remplissez un formulaire en quelques lignes :

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/install.sh
npm install @ironsoftware/ironpdf
SHELL
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = "YOUR-LICENSE-KEY-HERE";

(async () => {
    const pdf = await PdfDocument.fromFile("./form.pdf");
    await pdf.setFormFieldValue("firstName", "Jane");
    await pdf.setFormFieldValue("email", "jane@example.com");
    await pdf.saveAs("./filled-form.pdf");
})();
JavaScript

Quels prérequis dois-je avoir pour remplir des formulaires PDF dans Node.js ?

Avant d'exécuter les exemples de code ci-dessous, confirmez que trois choses sont en place : une version Node.js supportée, une clé de licence IronPDF, et le binaire IronPdfEngine.

Version de Node.js : IronPDF nécessite Node.js 18 ou supérieur. Téléchargez la version LTS actuelle du site officiel de Node.js. La bibliothèque utilise l'I/O asynchrone de Node.js pour toutes les opérations PDF, donc await ou l'enchaînement de Promesses est le modèle standard partout. Les anciennes versions de Node.js ne sont pas supportées car le paquet dépend des ESM natifs et des fonctionnalités async_hooks qui nécessitent Node.js 18+.

Clé de licence : Une clé de licence IronPDF active débloque l'API complète. Commencez un essai gratuit pour obtenir une clé pour le développement et les tests, ou achetez une licence pour une utilisation en production. Pour les options de déploiement (variables d'environnement, fichiers de configuration, gestionnaires de secrets), consultez le guide Utilisation des clés de licence.

IronPdfEngine : Le paquet Node.js inclut IronPdfEngine, un moteur de rendu multiplateforme qui gère la manipulation réelle des PDF. Les notes d'installation et spécifiques à la plateforme (Windows, Linux, macOS) sont disponibles dans la documentation Utilisation d'IronPdfEngine.

Comment régler la clé de licence dans le code Node.js ?

Appliquez la clé de licence une fois au démarrage de l'application, avant tout appel PdfDocument :

const { IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

// Apply once at startup -- before any PdfDocument operations
IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;
JavaScript

Stocker la clé dans une variable d'environnement (comme indiqué ci-dessus avec process.env.IRONPDF_LICENSE_KEY) garde les identifiants hors du contrôle de version. La Vue d'ensemble de démarrage couvre des modèles d'initialisation supplémentaires pour différents environnements de déploiement.


Comment installer IronPDF for Node.js?

L'installation d'IronPDF for Node.js ne nécessite qu'une seule commande npm. Exécutez-la dans votre répertoire de projet :

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/install-full.sh
npm install @ironsoftware/ironpdf
SHELL

Le paquet est livré avec des déclarations de type TypeScript, donc les projets TypeScript bénéficient d'un support complet IntelliSense sans un paquet séparé @types. Les binaires spécifiques à la plateforme pour Windows, Linux, et macOS sont téléchargés automatiquement lors de l'installation. Le package @Iron Software/ironpdf sur npm répertorie toutes les versions publiées et les dépendances de pair.

Pour les projets TypeScript, les déclarations .d.ts incluses signifient que IntelliSense fonctionne d'emblée dans VS Code et d'autres éditeurs qui supportent les services linguistiques TypeScript.

Pour des instructions sur l'ajout d'IronPDF à un monorepo existant ou à un flux de travail basé sur Docker, consultez la documentation d'IronPDF for Node.js.


Comment remplir des formulaires PDF par programmation?

Charger un PDF et écrire des valeurs dans ses champs de formulaire nécessite trois appels asynchrones : PdfDocument.fromFile(), setFormFieldValue(), et saveAs(). L'exemple ci-dessous remplit un formulaire d'application multi-champs et l'aplatit optionnellement pour que les valeurs ne puissent pas être modifiées après livraison.

À quoi ressemble un exemple complet de remplissage de formulaire ?

L'exemple suivant charge un PDF avec plusieurs types de champs, les remplit et enregistre le résultat. Pour un examen ciblé sur la création de formulaires plutôt que sur leur remplissage, voyez la page d'exemples de formulaires PDF.

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/fill-pdf-form.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function fillApplicationForm() {
    // Load the PDF containing form fields
    const pdf = await PdfDocument.fromFile("./forms/application-form.pdf");

    // Discover available field names before filling
    const fieldNames = await pdf.getFormFieldNames();
    console.log("Form fields:", fieldNames);

    // Text fields
    await pdf.setFormFieldValue("firstName", "Jane");
    await pdf.setFormFieldValue("lastName", "Doe");
    await pdf.setFormFieldValue("email", "jane.doe@example.com");
    await pdf.setFormFieldValue("phone", "+1-555-987-6543");

    // Date field
    await pdf.setFormFieldValue("dateOfBirth", "03/22/1988");

    // Case à cocher fields -- pass "true" or "false" as strings
    await pdf.setFormFieldValue("agreeToTerms", "true");
    await pdf.setFormFieldValue("subscribeNewsletter", "false");

    // Dropdown / select field
    await pdf.setFormFieldValue("country", "United States");

    // Multi-line text area
    await pdf.setFormFieldValue("comments", "Application submitted via automated workflow.");

    // Flatten the form to lock values -- prevents further editing
    // await pdf.flattenAllFormFields();

    await pdf.saveAs("./output/filled-application.pdf");
    console.log("Form saved.");
}

fillApplicationForm().catch(console.error);
JavaScript

Après avoir appelé getFormFieldNames(), le tableau retourné vous indique quels noms de champs l'auteur du PDF a utilisés. C'est le moyen le plus rapide d'éviter les fautes de frappe dans les noms de champs lors de l'intégration de formulaires que vous n'avez pas créés.

Conseils: Appelez getFormFieldNames() une fois pendant le développement pour imprimer les noms de champs exacts dans votre PDF. Coder en dur le mauvais nom est la cause la plus courante des champs apparaissant vides après setFormFieldValue().

Comment gérer différents types de champs de formulaire ?

IronPDF prend en charge les types de champs de formulaire standard AcroForm : boîtes de texte, cases à cocher, boutons radio, listes déroulantes, boîtes de liste, et champs de signature. La méthode setFormFieldValue() accepte des valeurs de chaîne pour tous les types ; pour les champs de case à cocher et radio, les valeurs acceptées dépendent de la définition spécifique du champ dans le PDF.

Le tableau ci-dessous montre le format des valeurs pour chaque type de champ :

Types de champs de formulaire PDF AcroForm et leurs formats de valeurs acceptés
Type de champFormat de valeurExemple d'application
Texte / MultiligneToute chaîne" Jane Doe "
Case à cocherT169 "true" ou "false"T169 "true"
Bouton RadioValeur d'exportation de l'option"Féminin"
Liste déroulante (Combo)Texte d'affichage de l'option"États-Unis"
Boîte de liste (sélection multiple)Tableau de chaînes["Option1", "Option2"]
Date / NumériqueReprésentation en chaîne" 15/06/2024 "

Comment fonctionnent les cases à cocher et les boutons radio ?

Les cases à cocher acceptent "true" pour cocher et "false" pour décocher. Les boutons radio acceptent la valeur d'exportation de l'option à sélectionner -- la chaîne exportée est généralement visible dans les propriétés du champ PDF et est distincte de l'étiquette d'affichage.

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/field-types.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function handleFieldTypes() {
    const pdf = await PdfDocument.fromFile("./forms/complex-form.pdf");

    // Radio button -- use the field's export value, not its display label
    await pdf.setFormFieldValue("gender", "Female");

    // Case à cocher
    await pdf.setFormFieldValue("termsAccepted", "true");

    // Dropdown
    await pdf.setFormFieldValue("preferredContact", "Email");

    // Numeric field -- pass the number as a string
    await pdf.setFormFieldValue("invoiceAmount", "1250.00");

    // Date picker
    await pdf.setFormFieldValue("appointmentDate", "2024-06-15");

    await pdf.saveAs("./output/complex-form-filled.pdf");
}

handleFieldTypes().catch(console.error);
JavaScript

Les champs de boîte de liste multi-sélection suivent le même modèle. Quand un champ permet plusieurs sélections, passez un tableau de chaînes plutôt qu'une seule valeur. Les champs de signature peuvent recevoir une chaîne d'image encodée en base64 représentant le graphique de la signature.

Si setFormFieldValue() ne semble pas changer la valeur d'un champ, vérifiez que le nom du champ correspond exactement — les noms de champs PDF sont sensibles à la casse. Utilisez getFormFieldNames() pour lister les noms réels dans le document.


Comment aplatir les champs de formulaire PDF après remplissage ?

Aplatir un formulaire PDF fusionne toutes les valeurs de champ dans le contenu statique de la page, supprimant la couche interactive. Le document résultant ne peut plus être édité, ce qui empêche les modifications accidentelles lors de la distribution et assure un rendu cohérent dans tous les visualisateurs PDF.

Appelez flattenAllFormFields() sur le document chargé après avoir défini toutes les valeurs des champs et avant de sauvegarder :

//:path=/static-assets/pdf/content-code-examples/nodejs/how-to/nodejs-fill-pdf-form/flatten-form.js
const { PdfDocument, IronPdfGlobalConfig } = require("@ironsoftware/ironpdf");

IronPdfGlobalConfig.getConfig().licenseKey = process.env.IRONPDF_LICENSE_KEY;

async function fillAndFlattenForm() {
    const pdf = await PdfDocument.fromFile("./forms/contract.pdf");

    // Fill the required fields
    await pdf.setFormFieldValue("signerName", "Jane Doe");
    await pdf.setFormFieldValue("signatureDate", "2024-06-15");
    await pdf.setFormFieldValue("agreementAccepted", "true");

    // Flatten -- converts interactive fields to static content
    await pdf.flattenAllFormFields();

    await pdf.saveAs("./output/contract-signed.pdf");
    console.log("Contract flattened and saved.");
}

fillAndFlattenForm().catch(console.error);
JavaScript

L'aplatissement est approprié pour les livraisons finales -- contrats après signature, certificats après émission, ou factures après approbation. Pour les documents qui nécessitent un examen supplémentaire avant la finalisation, ignorez flattenAllFormFields() et sauvegardez sans cela.

Avertissement: L'aplatissement est irréversible sur la copie enregistrée. Gardez le PDF original, non rempli comme modèle si vous devez régénérer le document.

Quels sont les cas d'utilisation courants pour l'automatisation des formulaires PDF ?

Le remplissage automatique des formulaires élimine la saisie manuelle de données dans les flux de travail de documents à fort volume. Les scénarios suivants couvrent les schémas les plus fréquents que les développeurs mettent en œuvre avec IronPDF.

Traitement des applications : extraire les données des candidats à partir d'une base de données ou d'une API REST et remplir des formulaires PDF pour les services financiers, l'assurance ou les flux de travail d'acquisition gouvernementale. Combinez les formulaires remplis en utilisant l'exemple Fusionner les PDF pour produire un seul dossier de soumission multi-pages.

Génération de factures et de reçus : remplissez les modèles de factures avec des données de lignes de commande, des détails clients et des totaux calculés. Ajoutez des en-têtes et pieds de page en utilisant les techniques montrées dans l'exemple En-têtes et pieds de page HTML.

Génération de certificats et d'attestations : personnalisez les modèles de certificats avec les noms des récipiendaires, les dates d'achèvement et les titres des cours. Ajoutez de la sécurité en utilisant l'exemple Signatures numériques pour éviter la falsification après délivrance. La norme PDF/A est couramment requise pour l'archivage à long terme des certificats dans les industries réglementées.

Génération de rapports : remplissez des modèles de rapports avec des données analytiques ou les résultats d'enquête. Pour les cas où vous devez construire la mise en page du PDF à partir de zéro plutôt que de remplir un formulaire existant, consultez le tutoriel HTML vers PDF.


Quelles sont les prochaines étapes pour remplir des formulaires PDF dans Node.js ?

Ce guide a démontré comment charger un PDF, remplir des champs de texte, cases à cocher, listes déroulantes et boutons radio, aplatir le formulaire pour verrouiller les valeurs, et enregistrer le document complété. La même instance PdfDocument prend en charge d'autres opérations — ajoutez des signatures numériques, compressez la sortie, ou extrayez du texte — sans recharger le fichier.

Commencez un essai gratuit pour tester IronPDF dans votre projet, ou consultez les options de licence pour trouver le plan qui correspond à votre déploiement.

Prêt à voir ce que vous pouvez faire d'autre? Consultez la collection complète de tutoriels Node.js ici : HTML vers PDF dans Node.js

Questions Fréquemment Posées

Quels sont les prérequis nécessaires pour remplir des formulaires PDF en Node.js ?

Vous avez besoin de Node.js 18 ou supérieur, d'une clé de licence IronPDF (un essai gratuit est disponible), et du binaire IronPdfEngine. Le moteur est inclus avec le package @ironsoftware/ironpdf et téléchargé automatiquement lors de l'installation.

Comment installer IronPDF for Node.js ?

Exécutez npm install @ironsoftware/ironpdf dans le répertoire de votre projet. La commande installe le package et ses binaires spécifiques à la plate-forme pour Windows, Linux et macOS. Les déclarations de type TypeScript sont incluses.

Comment découvrir les noms de champ dans un formulaire PDF ?

Appelez await pdf.getFormFieldNames() après avoir chargé le PDF avec PdfDocument.fromFile(). La méthode renvoie un tableau de toutes les chaînes de noms de champ dans le document. Les noms de champ PDF sont sensibles à la casse, utilisez donc les chaînes exactes renvoyées.

Quel format de valeur les cases à cocher et les boutons radio acceptent-ils ?

Les cases à cocher acceptent la chaîne "true" pour cocher et "false" pour décocher. Les boutons radio acceptent la valeur d'exportation de l'option cible sous forme de chaîne. Utilisez getFormFieldNames() et inspectez les propriétés de champ PDF pour trouver la valeur d'exportation correcte.

Comment empêcher qu'un formulaire PDF rempli soit modifié ?

Appelez await pdf.flattenAllFormFields() après avoir défini toutes les valeurs des champs et avant saveAs(). L'aplatissement fusionne les valeurs des champs dans le contenu de page statique et supprime la couche de formulaire interactive. L'opération est irréversible sur le fichier enregistré.

Puis-je utiliser IronPDF for Node.js avec TypeScript ?

Oui. Le package @ironsoftware/ironpdf est livré avec des déclarations TypeScript (.d.ts files), donc vous obtenez une vérification complète des types et IntelliSense dans VS Code et d'autres éditeurs sans installer un package types à part.

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.

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