Wie man PDF-Formulare in Java erstellt

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

IronPDF for Java ermöglicht es Entwicklern, dynamische, interaktive PDF-Formulare zu erstellen – Texteingaben, Kontrollkästchen, Kombinationsfelder und Optionsfelder – indem sie HTML in PDFs konvertieren. Der HTML-First-Ansatz gibt Ihnen die volle Kontrolle über das Formularlayout und das Verhalten unter Verwendung standardmäßiger Webtechnologien, ohne eine proprietäre Formular-API zu lernen. Sie können auch vorhandene PDF-Formulare programmatisch ausfüllen, sobald Sie verstehen, wie IronPDF Formularfelder modelliert.

Traditionelle Java PDF-Bibliotheken erfordern, dass Sie Formularfelder über low-level PDF-Objekte konstruieren. IronPDF verfolgt einen anderen Weg: Schreiben Sie Ihr Formular in HTML und CSS, und rendern Sie es dann zu einem PDF, das jedes interaktive Feld beibehält. Das Ergebnis ist kompatibel mit Adobe Acrobat Reader und allen gängigen PDF-Viewern.

Schnellstart: Ein PDF-Formular in Java erstellen

  1. Fügen Sie IronPDF for Java zu Ihrem Projekt über Maven Central hinzu
  2. Legen Sie Ihren Lizenzschlüssel mit License.setLicenseKey() fest
  3. Schreiben Sie eine HTML-Zeichenkette, die Standard-Formularelemente enthält (<input>, <textarea>, <select>)
  4. Rufen Sie PdfDocument.renderHtmlAsPdf() auf, um die HTML-Datei in ein PDF zu konvertieren
  5. Speichern Sie das resultierende Dokument unter saveAs()
//:path=/static-assets/ironpdf-java/howto/create-forms/quickstart-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set license key before any rendering call
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML form with a text field and submit button
String formHtml = "<h2>Registration Form</h2>" +
                  "<form>" +
                  "<label>Name: <input type='text' name='fullname' placeholder='Enter name'></label><br>" +
                  "<button type='submit'>Submit</button>" +
                  "</form>";

// Render HTML to PDF — form fields are preserved
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(formHtml);
pdf.saveAs("registration-form.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/quickstart-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set license key before any rendering call
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML form with a text field and submit button
String formHtml = "<h2>Registration Form</h2>" +
                  "<form>" +
                  "<label>Name: <input type='text' name='fullname' placeholder='Enter name'></label><br>" +
                  "<button type='submit'>Submit</button>" +
                  "</form>";

// Render HTML to PDF — form fields are preserved
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(formHtml);
pdf.saveAs("registration-form.pdf");
JAVA

Wie kann ich Formulare in Java erstellen?

IronPDF erstellt PDF-Formulare aus HTML, indem es die W3C HTML-Formularspezifikation als Wahrheit nimmt. Jedes Standard-Formularelement – <input>, <textarea>, <select>, <checkbox> und <radio> – bleibt in der PDF-Ausgabe als interaktives Feld erhalten. Sie können diese Elemente mit CSS gestalten und benutzerdefinierte Schriftarten hinzufügen, um Ihre Markenanforderungen zu erfüllen.

Bei der Erstellung von Formularen bewahrt IronPDF den interaktiven Charakter von HTML-Formularelementen in der resultierenden PDF-Datei. Die Benutzer können die Formulare direkt in ihrem PDF-Viewer ohne zusätzliche Software ausfüllen. Die Formulare funktionieren mit Adobe Acrobat Reader und allen gängigen PDF-Viewern, was sie in Unternehmens- und Verbraucherumgebungen zugänglich macht. Für erweiterte Rendering-Optionen siehe die PDF-Generierungseinstellungen Dokumentation.

TippsIronPDF erfordert keinen laufenden Browser oder einen installierten PDF-Druckertreiber. Die Rendering-Engine ist mit der Bibliothek gebündelt, sodass Formulare auf Entwicklungsmaschinen, CI-Servern und Cloud-Bereitstellungen identisch gerendert werden.

Wie erstelle ich Texteingabe- und TextArea-Formulare?

Texteingaben und Textbereiche sind die häufigsten PDF-Formelemente – nützlich zum Sammeln von Namen, E-Mail-Adressen, Kommentaren und mehrzeiligen Beschreibungen. IronPDF ordnet <input type="text"> einzeiligen PDF-Textfeldern und <textarea> mehrzeiligen Feldern zu, die ihre Zeilen- und Spaltenabmessungen beibehalten.

Die HTML-Formularelemente behalten bei der Konvertierung in PDF ihre Funktionalität. Benutzer können in Felder klicken, Text eingeben und zwischen Eingaben mit der Tabulatortaste wechseln, genau wie bei einem Webformular. Standardwerte, Platzhaltertext und HTML5-Validierungsattribute wie required und pattern werden bei der Konvertierung beibehalten. Für eine fein abgestimmte Layoutkontrolle kombinieren Sie Formularelemente mit benutzerdefinierten Papierformaten und Randeinstellungen.

//:path=/static-assets/ironpdf-java/howto/create-forms/text-input-textarea-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with single-line inputs and a multi-line textarea
String htmlContent = """
<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=''> <br>
            Address: <br> <textarea name='address' rows='4' cols='50'></textarea>
        </form>
    </body>
</html>
""";

// Render HTML — both <input> and <textarea> become interactive PDF fields
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("textAreaAndInputForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/text-input-textarea-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with single-line inputs and a multi-line textarea
String htmlContent = """
<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=''> <br>
            Address: <br> <textarea name='address' rows='4' cols='50'></textarea>
        </form>
    </body>
</html>
""";

// Render HTML — both <input> and <textarea> become interactive PDF fields
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("textAreaAndInputForm.pdf");
JAVA

Der Aufruf renderHtmlAsPdf in der Klasse PdfDocument wandelt den HTML-Code in ein vollständig interaktives PDF um. Jedes benannte Formularfeld wird zu einem eigenen Feld im AcroForm-Wörterbuch des PDFs, das von jedem standardkonformen PDF-Viewer gelesen werden kann. Die Feldnamen, die Sie im Attribut name festlegen (firstname, lastname, address), bleiben in der Ausgabe erhalten und können später beim Extrahieren von Formulardaten wieder ausgelesen werden.

Ausgangs-PDF-Dokument:


Wie erstelle ich Checkbox- und Combobox-Formulare?

Kontrollkästchen und Kombinationsfelder decken die beiden gängigsten Auswahlmuster in PDF-Formularen ab: binäre Ein-/Aus-Auswahlmöglichkeiten und die Auswahl eines einzelnen Elements aus einer Liste. IronPDF ordnet <input type="checkbox"> den PDF-Kontrollkästchenfeldern und <select> den PDF-Kombinationsfeldern (Dropdown-Feldern) zu.

Kombinationsfeld-Felder ermöglichen es Benutzern, aus einer festen Liste von Optionen auszuwählen, die durch <option>-Elemente definiert sind. Sie können eine Standardeinstellung vorwählen, indem Sie das Attribut selected zu einer Option hinzufügen, verwandte Auswahlmöglichkeiten mit <optgroup> gruppieren und CSS verwenden, um das Erscheinungsbild des Dropdown-Menüs an Ihr Dokumentdesign anzupassen. Das Attribut name des Elements <select> wird zum Feldnamen im resultierenden PDF, was die Extraktion von Formulardaten vereinfacht. Sehen Sie sich das Apache PDFBox Projekt an, um Details darüber zu erfahren, wie PDF AcroForm Felder diese Auswahldaten speichern, wenn Sie Formulare mit anderen Werkzeugen verarbeiten müssen.

//:path=/static-assets/ironpdf-java/howto/create-forms/checkbox-combobox-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a checkbox and a select dropdown
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <h3>Task Completed</h3>
        <label>
            <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed
        </label>
        <h3>Select Priority</h3>
        <label for='priority'>Choose priority level:</label>
        <select id='priority' name='priority'>
            <option value='high'>High</option>
            <option value='medium' selected>Medium</option>
            <option value='low'>Low</option>
        </select>
    </body>
</html>
""";

// Render HTML — checkbox and combobox fields are preserved in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("checkboxAndComboboxForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/checkbox-combobox-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a checkbox and a select dropdown
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <h3>Task Completed</h3>
        <label>
            <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed
        </label>
        <h3>Select Priority</h3>
        <label for='priority'>Choose priority level:</label>
        <select id='priority' name='priority'>
            <option value='high'>High</option>
            <option value='medium' selected>Medium</option>
            <option value='low'>Low</option>
        </select>
    </body>
</html>
""";

// Render HTML — checkbox and combobox fields are preserved in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("checkboxAndComboboxForm.pdf");
JAVA

Das Kontrollkästchenfeld speichert einen booleschen Status (/On oder /Off in PDF-Notation), den nachgelagerter Code bei der Verarbeitung übermittelter Formulare auslesen kann. Die Combobox speichert das Attribut value des ausgewählten <option>. Beide Feldertypen bleiben im gespeicherten PDF interaktiv — Benutzer können das Kästchen ankreuzen oder die Dropdown-Auswahl ändern, ohne zusätzliche Plugins oder JavaScript.

Ausgangs-PDF-Dokument:


Wie erstelle ich Radio-Button-Formulare?

Radiobuttons bieten eine gegenseitig ausschließende Wahl: Sobald ein Benutzer eine Option in einer Gruppe auswählt, wird jede zuvor ausgewählte Option in derselben Gruppe automatisch abgewählt. IronPDF ordnet <input type="radio">-Elemente, die ein name-Attribut gemeinsam haben, einem einzigen gruppierten Radiofeld im AcroForm-Wörterbuch des PDF-Dokuments zu.

Alle Optionsfelder einer Gruppe müssen denselben name-Attributwert aufweisen – dadurch werden sie im PDF miteinander verknüpft. Das Attribut value jeder Schaltfläche legt fest, was das Feld speichert, wenn diese Option ausgewählt wird. Wenn keine Schaltfläche in der Gruppe ausgewählt ist, lautet der Feldwert None. Sie können die aktuelle Auswahl mithilfe der Methoden getForm() und getFields() auf einem geladenen PdfDocument auslesen, wodurch Sie Workflows erstellen können, die Formulare vorab ausfüllen oder übermittelte Daten validieren. Für ein Beispiel zur Nutzung von Formfeldern siehe das PDF-Formulardaten-Beispiel.

//:path=/static-assets/ironpdf-java/howto/create-forms/radio-button-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a radio button group — all three share name='traveltype'
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        Choose your preferred travel type: <br>
        <input type='radio' name='traveltype' value='Bike'> Bike <br>
        <input type='radio' name='traveltype' value='Car'> Car <br>
        <input type='radio' name='traveltype' value='Airplane'> Airplane
    </body>
</html>
""";

// Render HTML — all three radio inputs become one grouped field in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("radioButtonForm.pdf");
//:path=/static-assets/ironpdf-java/howto/create-forms/radio-button-form.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// HTML with a radio button group — all three share name='traveltype'
String htmlContent = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        Choose your preferred travel type: <br>
        <input type='radio' name='traveltype' value='Bike'> Bike <br>
        <input type='radio' name='traveltype' value='Car'> Car <br>
        <input type='radio' name='traveltype' value='Airplane'> Airplane
    </body>
</html>
""";

// Render HTML — all three radio inputs become one grouped field in the PDF
PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save the document
pdfDoc.saveAs("radioButtonForm.pdf");
JAVA

Da die drei <input type="radio">-Elemente das name="traveltype"-Attribut gemeinsam haben, erstellt IronPDF im Ausgabe-PDF eine einzige AcroForm-Radio-Gruppe. Wählt man beispielsweise in Acrobat Reader "Auto" aus, wird der Feldwert auf Car gesetzt und jede vorherige Auswahl gelöscht. Dieses Verhalten spiegelt wider, was Benutzer von Radiobuttongruppen in Webformularen erwarten, und macht den Übergang von der Web- zur PDF-Datenerfassung natürlich.

Hinweis:Die Namen von Radiobuttongruppen müssen im gesamten Formular einzigartig sein. Das Wiederverwenden desselben Namens über verschiedene logische Gruppen hinweg führt zu ihrer Zusammenführung in ein einziges Feld und verhindert unabhängige Auswahl.

Wie wende ich Best Practices bei der Erstellung von PDF-Formularen an?

Zuverlässige PDF-Formulare erfordern Aufmerksamkeit sowohl in der Rendering-Konfiguration als auch in der langfristigen Wartbarkeit. Das häufigste Problem ist ein Formular, das im Browser korrekt aussieht, aber nach der Konvertierung seine Interaktivität verliert – typischerweise verursacht durch fehlende name-Attribute bei Formularelementen. Weisen Sie jedem Feld immer ein name zu; IronPDF verwendet diesen Wert als PDF-Feldidentifikator, und Felder ohne Namen können fallen gelassen oder zusammengeführt werden.

Testen Sie Formulare in mehreren PDF-Viewern vor der Verteilung. Der Adobe Acrobat Reader ist die Referenzimplementierung, aber viele Unternehmensumgebungen setzen Foxit Reader oder browserbasierte Viewer ein, die alle Randfälle leicht unterschiedlich behandeln. Verwenden Sie die HTML5-Validierungsattribute (required, minlength, pattern), die IronPDF beim Rendern berücksichtigt, um Probleme mit der Datenqualität bereits beim Ausfüllen des Formulars und nicht erst in Ihrem Backend zu erkennen. Für empfindliche Dokumente wenden Sie Passwörter und Sicherheitseinstellungen an, um das Formular vor unbefugter Bearbeitung zu schützen.

Wenn Sie in die Produktion gehen, setzen Sie Ihren Lizenzschlüssel vor dem ersten Rendering-Aufruf und halten Sie ihn in einem sicheren Konfigurationsspeicher, anstatt ihn hart zu kodieren. IronPDF veröffentlicht Bereitstellungshandbücher für AWS, Azure und Google Cloud Umgebungen. Überprüfen Sie den Lizenzschlüssel-Leitfaden für Details zum Verhalten von Test- und Produktionsschlüsseln.

TippsHalten Sie die Namen von Formfeldern kurz und alphanumerisch. Einige PDF-Reader kürzen oder lehnen Feldnamen ab, die Leerzeichen oder Sonderzeichen enthalten, was die Extraktion von Formulardaten stören kann.

Was sind die nächsten Schritte zur Erstellung von PDF-Formularen in Java?

Dieser Leitfaden behandelte die vier primären interaktiven Formularfeldtypen – Texteingaben, Textbereiche, Kontrollkästchen, Kombinationsfelder und Radiobuttons – und demonstrierte, wie IronPDF standardmäßiges HTML-Formular-Markup in vollständig interaktive PDFs konvertiert. Jeder Feldtyp wird direkt seinem HTML-Gegenstück zugeordnet, sodass vorhandene Webformularvorlagen mit minimalen Anpassungen wiederverwendet werden können.

Von hier aus sollten Sie berücksichtigen:

Starten Sie Ihre kostenlose Testversion, um die Formularerstellung ohne bezahlte Lizenz zu testen. Wenn Ihr Projekt bereit für die Produktion ist, sehen Sie sich die Lizenzierungsoptionen für den Plan an, der zu Ihrer Bereitstellung passt.

Bereit zu sehen, was IronPDF sonst noch kann? Sehen Sie sich das komplette HTML-zu-PDF-Tutorial hier an: HTML zu PDF-Konvertierung in Java

Häufig gestellte Fragen

Wie lassen sich PDF-Formulare am einfachsten in Java erstellen?

IronPDF for Java erstellt PDF-Formulare aus Standard-HTML. Schreiben Sie einen HTML-String mit ,