IRONSOFTWAREHOME

Wie füllt man ein PDF-Formular in Java aus (Tutorial)

Curtis Chau
Curtis Chau
Updated: 29. Juni 2026

IronPDF ermöglicht es Java-Entwicklern, PDF-Formulare programmatisch auszufüllen, indem vorhandene PDFs geladen, auf Formularfelder mit getForm() zugegriffen, Werte mit setFieldValue() gesetzt und das ausgefüllte Dokument gespeichert wird. Damit wird es einfach, die Dokumentenverarbeitung in Geschäftsanwendungen zu automatisieren.

Schnellstart: PDF-Formular in Java ausfüllen
//:path=/static-assets/pdf/content-code-examples/how-to/java-fill-pdf-form-tutorial/quickstart.java
// 1. IronPDF-Abhängigkeit zu Ihrem Maven-Projekt hinzufügen
// 2. laden Sie Ihr PDF-Formular
PdfDocument form = PdfDocument.fromFile("form.pdf");
// 3. füllt Formularfelder aus
form.getForm().setFieldValue("vorname", "John");
// 4. die ausgefüllte PDF-Datei speichern
form.saveAs(Paths.get("filled_form.pdf"));
Text

Dieser Artikel behandelt, wie Sie PDF-Formulare programmgesteuert in Java ausfüllen. Ein häufiges Szenario ist, wenn eine Anwendung Benutzerdaten über eine Benutzeroberfläche sammelt, die im PDF-Format für Archivierung, Compliance oder nachgelagerte Verarbeitung gespeichert werden müssen.

Nachdem Benutzereingaben erfasst sind, müssen Anwendungen diese Daten häufig direkt in bereits vorhandene PDF-Vorlagen einfügen. Mehrere Java-PDF-Bibliotheken erledigen diese Aufgabe, einschließlich Apache PDFBox, iText und IronPDF. Dieser Leitfaden erklärt, wie man IronPDF verwendet, um interaktive Formulare mit Textfeldern, Kontrollkästchen, Optionsfeldern und Dropdown-Listen auszufüllen. Für Entwickler, die verwandte Dokumenten-Workflows erstellen, siehe den Leitfaden zum Erstellen von PDF-Formularen von Grund auf in Java.

Was ist IronPDF for Java?

IronPDF ist eine Java-PDF-Bibliothek zum Erstellen, Bearbeiten und Bearbeiten von PDF-Dokumenten. Es integriert sich in jedes Maven-basierte Java-Projekt und stellt eine saubere API bereit, die häufige PDF-Aufgaben mit minimalem Boilerplate ausführbar macht.

Die Bibliothek deckt den gesamten PDF-Lebenszyklus ab: HTML in PDF rendern, Formular Daten lesen und schreiben, digitale Signaturen hinzufügen, Sicherheitseinstellungen anwenden, Dokumente komprimieren und drucken. Für das Arbeiten mit Formularen gibt IronPDF programmgesteuerten Zugriff auf jeden Feldtyp in einem PDF-Dokument, während das ursprüngliche Format beibehalten wird. Das macht es gut geeignet für die Batch-Formularverarbeitung, das Vorausfüllen von Vorlagen mit Datenbankeinträgen oder das Einbinden des Formulaufüllens in einen größeren Java-Workflow. Siehe die IronPDF Java API-Referenz für eine vollständige Liste der verfügbaren Klassen und Methoden.

Wie installiere ich IronPDF in einem Maven-Projekt?

Fügen Sie den folgenden Abhängigkeitsblock zu Ihrer pom.xml Datei hinzu, um IronPDF for Java zu installieren.

Öffnen Sie pom.xml und fügen Sie die Abhängigkeit innerhalb des <dependencies> Elements ein, dann führen Sie mvn install aus, um die Bibliothek herunterzuladen. Verfügbare Versionen finden Sie auf 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

Nach der Installation importieren Sie com.ironsoftware.ironpdf.PdfDocument und com.ironsoftware.ironpdf.render.ChromePdfRenderOptions in Ihrer Java-Klasse, um auf die Formularausfüllungs-API zuzugreifen. Für Bereitstellungshinweise auf Cloud-Plattformen siehe die Anleitungen für AWS, Azure und Google Cloud.

Tipps: Wenn Sie mit IronPDF in einer Docker- oder containerisierten Umgebung arbeiten, setzen Sie die IronPdf.licenseKey Systemeigenschaft vor dem ersten PdfDocument Aufruf, um Lizenzüberprüfungs-verzögerungen zur Laufzeit zu vermeiden.

Wie erstelle und fülle ich ein PDF-Formular mit HTML in Java?

Die zuverlässigste Methode, ein konsistent strukturiertes, ausfüllbares PDF zu erzeugen, besteht darin, das Formular in HTML zu definieren und mit IronPDF zu rendern. Die Bibliothek konvertiert HTML <input> Elemente direkt in interaktive PDF-Formularfelder.

Der folgende Code erstellt ein zweifeldiges PDF-Formular aus einem HTML-String und füllt dann beide Felder aus:

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

Der erste Block verwendet ChromePdfRenderOptions mit setCreatePdfFormsFromHtml(true), um der Rendering-Engine mitzuteilen, HTML <input> Elemente als live PDF-Formularfelder und nicht als statischen Text zu behandeln. Das gerenderte PDF wird als wiederverwendbare Vorlage gespeichert. Der zweite Block lädt diese Vorlage, ruft getForm().setFieldValue() für jedes Feld nach Namen auf und schreibt das Ergebnis in eine separate Ausgabedatei, lässt aber die ursprüngliche Vorlage unberührt für die zukünftige Verwendung.

Wie sieht die Ausgabe aus?

Das erste Rendering produziert ein PDF mit zwei leeren Textfeldern, die in jedem PDF-Reader vollständig bearbeitbar sind.

Einfaches PDF-Formular, das bearbeitbare Eingabefelder für Vor- und Nachnamen mit blau umrandeten Kästchen zeigt, von IronPDF aus HTML gerendert

Nach dem Ausführen von setFieldValue() sind beide Felder mit den bereitgestellten Daten ausgefüllt:

IronPDF-Java-Ausgabe: PDF-Formular mit "Minnie" im Feld „Vorname“ und "Mouse" im Feld „Nachname“, das erfolgreich ausgefüllte Formulardaten zeigt

Wie fülle ich ein bestehendes PDF-Formular aus, das ich nicht erstellt habe?

Viele echte Arbeitsabläufe erhalten PDF-Vorlagen von Dritten (Regierungsformulare, Versicherungsdokumente, Lieferantenverträge), die bereits benannte Felder enthalten. Das Laden und Ausfüllen dieser erfolgt auf dieselbe Weise: Verwenden Sie PdfDocument.fromFile(), um das Dokument zu laden, dann getForm().setFieldValue(), um jedes Feld nach Namen zu setzen.

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

Um Feldnamen in einem vorhandenen PDF zu entdecken, öffnen Sie das Dokument in Adobe Acrobat Reader, klicken Sie mit der rechten Maustaste auf ein beliebiges Feld und wählen Sie "Eigenschaften". Der Feldname erscheint im Allgemein-Tab. Alternativ iterieren Sie programmatisch über alle Felder:

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

Das Drucken von Feldnamen bevor Sie Daten schreiben, verhindert, dass setFieldValue() bei einem nicht übereinstimmenden Namen stillschweigend fehlschlägt. Feldnamen in PDF-Dokumenten sind groß- und kleinschreibungsempfindlich, sodass "firstname" und "FirstName" als unterschiedliche Felder behandelt werden.

Hinweis:: getForm().getFields() von IronPDF gibt eine Liste von FormField Objekten zurück. Jedes legt getName(), getType() und getValue() offen. Diese sind nützlich beim Erstellen dynamischer Formular-Ausfüllroutinen, die Feldnamen aus einer externen Datenquelle wie einer Datenbank oder CSV-Datei lesen.

Wie fülle ich Kontrollkästchen und Optionsfelder in Java aus?

Textfelder akzeptieren String-Werte direkt, aber Checkboxen und Radioschaltflächen erfordern bestimmte exportierte Werte, die das PDF zum Zeitpunkt der Autorenerstellung definiert. Verwenden Sie setFieldValue() mit dem korrekten Exportwert-String für jedes Feld.

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

Der Exportwert für eine Checkbox ist typischerweise "Yes", "On" oder ein benutzerdefinierter String, der vom Formularautor festgelegt wird. Für Optionsfeldergruppen teilt jede Option in der Gruppe denselben Feldnamen, hat jedoch einen einzigartigen Exportwert. Verwenden Sie die Feldauflistungstechnik aus dem vorherigen Abschnitt, um die genauen Exportwerte zu bestätigen, bevor Sie automatisierte Ausfüllroutinen schreiben.

Wichtig: Wenn setFieldValue() scheinbar nicht dazu führt, dass eine Checkbox markiert oder ein Radio-Button ausgewählt wird, ist der Exportwert-String wahrscheinlich falsch. Listen Sie das Feld mit getFields() auf und inspizieren Sie getValue() auf einer manuell markierten Kopie des PDFs, um den korrekten String zu erhalten.

Wie fülle ich Dropdown-Listen in einem PDF-Formular mit Java aus?

Dropdown-Listenfelder (auch Kombinationsfeld genannt) verwenden dieselbe API wie Textfelder. Übergeben Sie den Exportwert der Option als String an setFieldValue(). Der Exportwert ist typischerweise der sichtbare Options-Text, es sei denn, der Formulargestalter hat einen separaten zugrunde liegenden Wert definiert.

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

Wenn der Exportwert des Dropdowns von der sichtbaren Beschriftung abweicht, verwenden Sie getFields(), um die Optionen des Feldes zu inspizieren. Das Übergeben eines Wertes, der keine Option in der Felddefinition übereinstimmt, lässt die Auswahl unverändert, ohne eine Ausnahme zu werfen, daher vermeidet die Validierung von Exportwerten vor einem Batchlauf einen stillen Datenverlust.

Tipps: Um alle verfügbaren Optionen für ein Kombinationsfeld zu inspizieren, werfen Sie das FormField auf FormComboBoxField und rufen Sie getOptions() auf. Das gibt die Liste der gültigen Exportwerten für das Dropdown zurück.

Wie flache ich ein ausgefülltes PDF-Formular in Java ab?

Das Abflachen konvertiert alle Formularfelder in statische, nicht bearbeitbare Inhalte. Damit wird verhindert, dass Empfänger die eingereichten Daten ändern, und es ist für viele Archivierungs- und Compliance-Anforderungen erforderlich. IronPDF unterstützt das Abflachen von Formularen als Teil seiner PDF-Manipulationsfähigkeiten.

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

Nachdem flatten() ausgeführt wurde, verbleiben keine interaktiven Formularfelder mehr im Ausgabe-PDF. Die Dokumentgröße verringert sich typischerweise, da die Schichten der Formularfelder entfernt werden. Abgeflachte PDFs sind sicher zu verteilen, ohne dass Empfänger die eingereichten Werte bearbeiten können.

Was sind die nächsten Schritte zum Ausfüllen von PDF-Formularen in Java?

IronPDF bietet eine fokussierte, wenig Boilerplate-API zum Ausfüllen von PDF-Formularen in Java. Die Methode getForm() bietet direkten Zugriff auf Textfelder, Checkboxen, Radioschaltflächen und Dropdown-Listen. Wenn ein Archivierungsbedarf besteht, sperrt flatten() alle ausgefüllten Daten als statischen Inhalt.

Für die nächsten Phasen Ihres PDF-Dokumenten-Workflows, erkunden Sie diese Anleitungen:

Starten Sie eine kostenlose Testversion von IronPDF for Java um die Formularausfüllung in Ihrem eigenen Projekt zu testen. Wenn Sie bereit sind, zu deployen, sehen Sie sich die Lizenzierungsoptionen für IronPDF an, um einen Plan zu finden, der den Anforderungen Ihres Teams entspricht.

Häufig gestellte Fragen

Was sind die grundlegenden Schritte zum Ausfüllen eines PDF-Formulars in Java?

Fügen Sie die IronPDF Maven-Abhängigkeit hinzu, laden Sie Ihr PDF mit PdfDocument.fromFile(), greifen Sie mit getForm() auf Formularfelder zu, rufen Sie setFieldValue(fieldName, value) für jedes Feld auf und speichern Sie das Ergebnis mit saveAs().

Wie kann ich Feldnamen in einem vorhandenen PDF ermitteln?

Öffnen Sie das PDF in Adobe Acrobat Reader, klicken Sie mit der rechten Maustaste auf ein beliebiges Feld und wählen Sie Eigenschaften. Der Feldname erscheint im Reiter Allgemein. Alternativ rufen Sie getForm().getFields() auf, um alle Felder zu durchlaufen und jedes getName() und getType() programmatisch auszugeben.

Wie fülle ich Kontrollkästchen und Optionsfelder in Java aus?

Verwenden Sie setFieldValue() mit dem Exportwert-String des Feldes. Kontrollkästchen-Exportwerte sind typischerweise Yes oder On. Für Optionsfeldgruppen teilt jede Option den gleichen Feldnamen, hat jedoch einen eindeutigen Exportwert. Wenn das Feld nicht reagiert, überprüfen Sie getValue() auf einer manuell geprüften Kopie des PDFs, um den richtigen String zu finden.

Wie fülle ich ein Dropdownfeld aus?

Rufen Sie setFieldValue(fieldName, optionValue) mit dem Exportwert der Option auf. Der Exportwert ist typischerweise der sichtbare Optionstext. Um verfügbare Optionen programmatisch aufzulisten, wandeln Sie das FormField in FormComboBoxField um und rufen getOptions() auf.

Was bewirkt das Flatten eines PDF-Formulars?

Das Flatten wandelt alle interaktiven Formularfelder in statische, nicht bearbeitbare Inhalte um. Rufen Sie getForm().flatten() auf, bevor Sie speichern. Das resultierende PDF kann von Empfängern nicht bearbeitet werden, was für viele Archivierungs- und Compliance-Workflows erforderlich ist.

Kann IronPDF Formulare ausfüllen, die mit anderen Tools erstellt wurden?

Ja. PdfDocument.fromFile() lädt jedes standardmäßige ausfüllbare PDF, unabhängig davon, wie es erstellt wurde. Verwenden Sie getForm().getFields(), um Feldnamen zu überprüfen, bevor Sie setFieldValue() aufrufen, da Feldnamen groß-/kleinbuchstabenempfindlich sind und je nach Formularautor variieren.

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
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Version:2026.6gerade veröffentlicht

Holen Sie sich Ihre KOSTENLOSE

30-Tage-Testlizenz sofort.

bullet_checkedKeine Kreditkarte oder Kontoerstellung erforderlich
bullet_testTesten Sie in der Produktion
ohne Wasserzeichen
bullet_calendar30 Tage voll
funktionsfähiges Produkt
bullet_support24/5 technischer
Support während der Testphase
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
Java Maven-Bibliothek für PDF
Installieren mit 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
oder
Java PDF JAR
Herunterladen JAR

Version: 2026.6

Manuell in Ihr Projekt installieren

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
AWS-Logo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Azure (WebApps, Funktionen v3)
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Azure (WebApps, Funktionen v3)
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.