IRONSOFTWAREHOME

Comment remplir un formulaire PDF en Java (Tutoriel)

Curtis Chau
Curtis Chau
Updated: 29 juin 2026

IronPDF permet aux développeurs Java de remplir des formulaires PDF par programmation en chargeant des PDF existants, en accédant aux champs de formulaire avec getForm(), en définissant des valeurs avec setFieldValue(), et en enregistrant le document rempli. Cela simplifie l'automatisation du traitement documentaire dans les applications d'entreprise.

Démarrage rapide : Remplir un formulaire PDF en Java
//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/quickstart.java
// 1. ajoutez la dépendance IronPDF à votre projet Maven
// 2. chargez votre formulaire PDF
PdfDocument form = PdfDocument.fromFile("form.pdf") ;
// 3. remplir les champs d'un formulaire
form.getForm().setFieldValue("firstname", "John") ;
// 4. enregistrer le PDF rempli
form.saveAs(Paths.get("filled_form.pdf")) ;
Text

Cet article explique comment remplir des formulaires PDF par programmation en Java. Un scénario courant est lorsque qu'une application collecte les données des utilisateurs via une interface utilisateur qui doivent être conservées au format PDF pour archivage, conformité ou traitement en aval.

Après que les saisies utilisateur sont prises en compte, les applications doivent souvent injecter ces données directement dans des modèles PDF préexistants. De nombreuses bibliothèques PDF Java gèrent cette tâche, y compris Apache PDFBox, iText, et IronPDF. Ce guide explique comment utiliser IronPDF pour remplir des formulaires interactifs avec des champs texte, des cases à cocher, des boutons radio et des listes déroulantes. Pour les développeurs construisant des flux de travail de documents associés, voir le guide sur la création de formulaires PDF de A à Z en Java.

Qu'est-ce qu'IronPDF for Java?

IronPDF est une bibliothèque Java PDF pour créer, éditer et manipuler des documents PDF. Elle s'intègre dans tout projet Java basé sur Maven et expose une API claire qui rend les tâches PDF courantes réalisables avec un minimum de code standard.

La bibliothèque couvre le cycle complet du PDF : rendu HTML vers PDF, lecture et écriture de données de formulaire, ajout de signatures numériques, application de paramètres de sécurité, compression de documents, et impression. Pour travailler spécifiquement avec des formulaires, IronPDF donne un accès par programmation à chaque type de champ dans un document PDF tout en préservant la mise en forme originale. Cela le rend bien adapté pour le traitement par lots de formulaires, le pré-remplissage de modèles avec des enregistrements de base de données, ou le remplissage de formulaires dans un flux de travail Java plus large. Consultez la référence API Java IronPDF pour une liste complète des classes et méthodes disponibles.

Comment installer IronPDF dans un projet Maven?

Ajoutez le bloc de dépendance suivant à votre fichier pom.xml pour installer IronPDF for Java.

Ouvrez pom.xml et insérez la dépendance à l'intérieur de l'élément <dependencies>, puis exécutez mvn install pour télécharger la bibliothèque. Les versions disponibles sont listées sur Maven Central.

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/maven-dependency.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
XML

Après l'installation, importez com.ironsoftware.ironpdf.PdfDocument et com.ironsoftware.ironpdf.render.ChromePdfRenderOptions dans votre classe Java pour accéder à l'API de remplissage de formulaire. Pour des conseils de déploiement sur les plateformes cloud, consultez les guides pour AWS, Azure, et Google Cloud.

Conseils: Lors de l'utilisation de IronPDF dans un environnement Docker ou conteneurisé, définissez la propriété système IronPdf.licenseKey avant le premier appel PdfDocument pour éviter les délais de vérification de licence à l'exécution.

Comment créer et remplir un formulaire PDF en utilisant HTML en Java?

La manière la plus fiable de produire un PDF structuré de manière cohérente et remplissable est de définir le formulaire en HTML et de le rendre avec IronPDF. La bibliothèque convertit les éléments HTML <input> directement en champs de formulaire PDF interactifs.

Le code suivant crée un formulaire PDF à deux champs à partir d'une chaîne HTML puis remplit les deux champs :

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/create-and-fill-form.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import java.io.IOException;
import java.nio.file.Paths;

public class App {

    public static void main(String[] args) throws IOException {

        // Define an HTML form with two text input fields
        String formHTML = "<html>"
            + "<body>"
            + "<h2>Editable PDF Form</h2>"
            + "<form>"
            + "First name: <br><input type='text' name='firstname' value=''><br>"
            + "Last name: <br><input type='text' name='lastname' value=''>"
            + "</form>"
            + "</body>"
            + "</html>";

        // Enable HTML-to-form-field conversion during rendering
        ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
        renderOptions.setCreatePdfFormsFromHtml(true);

        // Render HTML to PDF and save the blank template
        PdfDocument.renderHtmlAsPdf(formHTML, renderOptions)
            .saveAs(Paths.get("assets/BasicForm.pdf"));

        // Load the template and fill in field values
        PdfDocument form = PdfDocument.fromFile(Paths.get("assets/BasicForm.pdf"));
        form.getForm().setFieldValue("firstname", "Minnie");
        form.getForm().setFieldValue("lastname", "Mouse");

        // Save the completed form to a new file
        form.saveAs(Paths.get("assets/BasicForm_Filled.pdf"));
    }
}
Java

Le premier bloc utilise ChromePdfRenderOptions avec setCreatePdfFormsFromHtml(true) pour indiquer au moteur de rendu de traiter les éléments HTML <input> comme des champs de formulaire PDF dynamiques plutôt que comme du texte statique. Le PDF rendu est enregistré en tant que modèle réutilisable. Le deuxième bloc charge ce modèle, appelle getForm().setFieldValue() pour chaque champ par nom, et écrit le résultat dans un fichier de sortie distinct, laissant le modèle original intact pour une utilisation future.

À quoi ressemble le résultat ?

Le premier rendu produit un PDF avec deux champs de texte vides, entièrement modifiables dans tout lecteur PDF.

Formulaire PDF simple montrant des champs de saisie de texte prénom et nom de famille éditables avec des boîtes à contour bleu, rendu par IronPDF à partir de HTML

Après l'exécution de setFieldValue(), les deux champs sont remplis avec les données fournies :

Résultat Java IronPDF : formulaire PDF avec "Minnie" dans le champ Prénom et "Mouse" dans le champ Nom, montrant les données du formulaire correctement renseignées

Comment remplir un formulaire PDF existant que je n'ai pas créé?

De nombreux flux de travail réels reçoivent des modèles PDF tiers (formulaires gouvernementaux, documents d'assurance, contrats fournisseurs) qui contiennent déjà des champs nommés. Charger et remplir ceux-ci suit le même processus : utilisez PdfDocument.fromFile() pour charger le document, puis getForm().setFieldValue() pour définir chaque champ par son nom.

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/fill-existing-form.java
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;

public class FillExistingForm {

    public static void main(String[] args) throws IOException {

        // Load a third-party fillable PDF
        PdfDocument form = PdfDocument.fromFile(Paths.get("templates/application.pdf"));

        // Set text field values by field name
        form.getForm().setFieldValue("applicant_name", "Jane Smith");
        form.getForm().setFieldValue("date_of_birth", "1985-06-14");
        form.getForm().setFieldValue("reference_number", "REF-2024-00421");

        // Save the completed application
        form.saveAs(Paths.get("output/application_filled.pdf"));
    }
}
Java

Pour découvrir les noms de champs dans un PDF existant, ouvrez le document dans Adobe Acrobat Reader, faites un clic droit sur un champ et sélectionnez "Propriétés". Le nom du champ apparaît dans l'onglet Général. Alternativement, parcourez tous les champs par programmation :

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/list-form-fields.java
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.form.FormField;
import java.nio.file.Paths;

public class ListFormFields {

    public static void main(String[] args) throws Exception {

        PdfDocument form = PdfDocument.fromFile(Paths.get("templates/application.pdf"));

        // Print the name and type of every form field
        for (FormField field : form.getForm().getFields()) {
            System.out.println("Field: " + field.getName()
                + " | Type: " + field.getType());
        }
    }
}
Java

Imprimer les noms des champs avant d'écrire les données empêche setFieldValue() d'échouer silencieusement sur un nom mal assorti. Les noms de champ dans les documents PDF sont sensibles à la casse, donc "firstname" et "FirstName" sont traités comme des champs différents.

Veuillez noter: Le getForm().getFields() de IronPDF renvoie une liste d'objets FormField. Chacun expose getName(), getType(), et getValue(). Ceux-ci sont utiles lors de la construction de routines de remplissage de formulaire dynamiques qui lisent les noms de champs à partir d'une source de données externe telle qu'une base de données ou un fichier CSV.

Comment remplir des cases à cocher et des boutons radio en Java?

Les champs de texte acceptent directement des valeurs de chaîne, mais les cases à cocher et les boutons radio nécessitent des valeurs exportées spécifiques définies par le PDF lors de la création. Utilisez setFieldValue() avec la chaîne de valeur d'exportation correcte pour chaque champ.

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/fill-checkboxes-radio.java
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths;

public class FillCheckboxesAndRadio {

    public static void main(String[] args) throws Exception {

        PdfDocument form = PdfDocument.fromFile(Paths.get("templates/survey.pdf"));

        // Check a checkbox by setting its exported value (often "Yes" or "On")
        form.getForm().setFieldValue("agree_terms", "Yes");

        // Select a radio button option by its exported value
        form.getForm().setFieldValue("preferred_contact", "email");

        form.saveAs(Paths.get("output/survey_filled.pdf"));
    }
}
Java

La valeur d'exportation pour une case à cocher est généralement "Yes", "On", ou une chaîne personnalisée définie par l'auteur du formulaire. Pour les groupes de boutons radio, chaque option du groupe partage le même nom de champ mais possède une valeur d'exportation unique. Utilisez la technique de liste de champs de la section précédente pour confirmer les valeurs d'exportation exactes avant d'écrire des routines de remplissage automatisées.

Important: Si setFieldValue() ne semble pas cocher une case ou sélectionner un bouton radio, la chaîne de valeur d'exportation est probablement incorrecte. Listez le champ avec getFields() et inspectez getValue() sur une copie cochée manuellement du PDF pour récupérer la chaîne correcte.

Comment remplir des listes déroulantes dans un formulaire PDF en utilisant Java?

Les champs de liste déroulante (appelés aussi champs de boîte combo) utilisent la même API que les champs texte. Passez la valeur d'exportation de l'option en tant que chaîne à setFieldValue(). La valeur d'exportation est généralement le texte visible de l'option, sauf si l'auteur du formulaire a défini une valeur sous-jacente distincte.

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/fill-dropdown.java
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths;

public class FillDropdown {

    public static void main(String[] args) throws Exception {

        PdfDocument form = PdfDocument.fromFile(Paths.get("templates/registration.pdf"));

        // Set a dropdown/combo box field to a specific option
        form.getForm().setFieldValue("country", "United States");

        // Set a list box field (multi-select may require comma-separated values)
        form.getForm().setFieldValue("subscription_tier", "Professional");

        form.saveAs(Paths.get("output/registration_filled.pdf"));
    }
}
Java

Quand la valeur d'exportation de la liste déroulante diffère de l'étiquette visible, utilisez getFields() pour inspecter les options disponibles du champ. Passer une valeur qui ne correspond à aucune option dans la définition du champ laisse la sélection inchangée sans générer d'exception, donc vérifier les valeurs d'exportation avant une exécution par lots évite les pertes de données silencieuses.

Conseils: Pour inspecter toutes les options disponibles pour une boîte combinée, castes le FormField à FormComboBoxField et appelez getOptions(). Cela retourne la liste des valeurs d'exportation valides pour cette liste déroulante.

Comment aplatir un formulaire PDF rempli en Java?

L'aplatissement convertit tous les champs de formulaire en contenu statique, non modifiable. Cela empêche les destinataires de modifier les données soumises et est requis pour de nombreux cas d'archivage et de conformité. IronPDF prend en charge l'aplatissement des formulaires dans le cadre de ses capacités de manipulation PDF.

//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/flatten-form.java
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths;

public class FlattenForm {

    public static void main(String[] args) throws Exception {

        PdfDocument form = PdfDocument.fromFile(Paths.get("assets/BasicForm_Filled.pdf"));

        // Flatten all form fields -- values become static text
        form.getForm().flatten();

        form.saveAs(Paths.get("output/BasicForm_Archived.pdf"));
    }
}
Java

Après l'exécution de flatten(), aucun champ de formulaire interactif ne reste dans le PDF de sortie. La taille du document diminue généralement car les calques de superposition des champs de formulaire sont supprimés. Les PDF aplatis sont sûrs à distribuer sans risque que les destinataires modifient les valeurs soumises.

Quelles sont les prochaines étapes pour le remplissage de formulaires PDF en Java?

IronPDF fournit une API concentrée et exigeant peu de code standard pour remplir les formulaires PDF en Java. La méthode getForm() donne un accès direct aux champs de texte, aux cases à cocher, aux boutons radio, et aux listes déroulantes. Lorsque l'archivage est requis, flatten() verrouille toutes les données remplies en tant que contenu statique.

Pour les étapes suivantes dans votre flux de travail de document PDF, explorez ces guides :

Commencez un essai gratuit de IronPDF for Java pour tester le remplissage de formulaire dans votre propre projet. Lorsque vous êtes prêt à déployer, consultez les options de licence IronPDF pour trouver un plan adapté aux besoins de votre équipe.

Questions Fréquemment Posées

Quelles sont les étapes de base pour remplir un formulaire PDF en Java ?

Ajoutez la dépendance Maven IronPDF, chargez votre PDF avec PdfDocument.fromFile(), accédez aux champs de formulaire avec getForm(), appelez setFieldValue(fieldName, value) pour chaque champ, et enregistrez le résultat avec saveAs().

Comment trouver les noms des champs dans un PDF existant ?

Ouvrez le PDF dans Adobe Acrobat Reader, cliquez droit sur n'importe quel champ, et sélectionnez Propriétés. Le nom du champ apparaît dans l'onglet Général. Alternativement, appelez getForm().getFields() pour itérer tous les champs et imprimer chaque getName() et getType() de manière programmatique.

Comment remplir des cases à cocher et des boutons radio en Java ?

Utilisez setFieldValue() avec la chaîne de valeur d'exportation du champ. Les valeurs d'exportation pour les cases à cocher sont typiquement Yes ou On. Pour les groupes de boutons radio, chaque option partage le même nom de champ mais a une valeur d'exportation unique. Si le champ ne répond pas, inspectez getValue() sur une copie cochée manuellement du PDF pour trouver la bonne chaîne.

Comment remplir un champ de liste déroulante ?

Appelez setFieldValue(fieldName, optionValue) avec la valeur d'exportation de l'option. La valeur d'exportation est typiquement le texte de l'option visible. Pour lister les options disponibles de manière programmatique, convertissez le FormField en FormComboBoxField et appelez getOptions().

Que fait l'aplatissement d'un formulaire PDF ?

L'aplatissement convertit tous les champs de formulaire interactifs en contenu statique non modifiable. Appelez getForm().flatten() avant d'enregistrer. Le PDF résultant ne peut pas être édité par les destinataires, ce qui est requis pour de nombreux flux de travail d'archivage et de conformité.

IronPDF peut-il remplir les formulaires créés par d'autres outils ?

Oui. PdfDocument.fromFile() charge n'importe quel PDF remplissable standard, peu importe comment il a été créé. Utilisez getForm().getFields() pour inspecter les noms de champs avant d'appeler setFieldValue(), puisque les noms de champs sont sensibles à la casse et varient selon l'auteur du formulaire.

How can I fill dropdown lists in a PDF form using IronPDF?

Use setFieldValue() to assign the dropdown option's export value. The exact export value should match the option's defined value in the PDF form, with FormComboBoxField.getOptions() providing the list of valid values.

How do I flatten a filled PDF form using IronPDF?

Flattening a filled PDF form with IronPDF can be done by calling form.getForm().flatten() on the PdfDocument, which converts form fields into static text, preventing further editing.

What are some additional features of IronPDF for Java?

Beyond form filling, IronPDF features include rendering HTML to PDF, manipulating PDF security settings, applying digital signatures, and allowing programmatic access to various PDF document elements.

How can I find more resources to further explore IronPDF capabilities?

Explore the [IronPDF Java API reference](https://ironpdf.com/java/object-reference/api/) for detailed documentation, and additional guides on creating forms from HTML, HTML to PDF conversion, and PDF security and digital signing.

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 GRATUIT

Clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
bullet_testTester en production
sans filigranes
bullet_calendarProduit entièrement fonctionnel
pendant 30 jours
bullet_supportSupport technique 24/5
pendant l'essai
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque Maven Java pour PDF
Installer avec Maven

Version : 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
JAR PDF Java
Télécharger JAR

Version : 2026.6

Installer manuellement dans votre projet

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