Wie man PDF-Formularfelder in Python ausfüllt

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

Füllen Sie PDF-Formulare programmatisch in Python mit IronPDF aus: Laden Sie ein bestehendes PDF, lokalisieren Sie jedes Feld nach Name, weisen Sie Werte zu und speichern Sie das Ergebnis in nur wenigen Zeilen.

Schnellstart: PDF-Formularfelder ausfüllen

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-fill-pdf-form/quickstart.py
1. Install IronPDF: `pip install ironpdf`
2. Load your PDF: `form_document = PdfDocument.FromFile("form.pdf")`
3. Find form field: `field = form_document.Form.FindFormField("fieldname")`
4. Set field value: `field.Value = "Your Value"`
5. Save filled PDF: `form_document.SaveAs("filled_form.pdf")`
PYTHON

Das Sammeln von Daten über eine Weboberfläche und das anschließende Generieren eines ausgefüllten PDFs zur Archivierung oder nachgelagerter Verarbeitung ist ein gängiges Dokumentenautomatisierungsmuster. Anstatt Daten manuell in PDF-Formulare zu transkribieren, können Python-Skripte dies sofort erledigen: Lesen von Feldnamen, Ausfüllen von Werten und Erstellen fertiger Dokumente, die für die Speicherung oder Verteilung bereit sind.

IronPDF macht diesen Workflow direkt: Eine API, um Formulare aus HTML zu erstellen, eine Methode, um ein Feld nach Namen zu lokalisieren, eine Eigenschaft, um seinen Wert zu setzen. PDF-Formulare in der freien Wildbahn enthalten mehr als Texteingaben. Kontrollkästchenen, Radiobuttons und Dropdownfelder werden alle durch dieselbe FindFormField und Value-Ansatz unterstützt. Der Rest dieses Leitfadens führt durch die wichtigsten Szenarien: Erstellen eines Formulars aus HTML-Markup, Ausfüllen von Feldern in einem bestehenden Dokument, Lesen aller Feldtypen und Durchführen von Massenausfüllungen aus einer Datenquelle.

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

IronPDF kann HTML-<input>-Elemente direkt in bearbeitbare PDF-Felder konvertieren, was Ihnen einen direkten Weg von einer web-basierten Formulardefinition zu einem ausfüllbaren PDF-Dokument bietet. Sie können Formulare mit vertrautem HTML und CSS gestalten und dann sofort ausfüllen, ohne einen Zwischenstopp manuell zu machen.

Das folgende Beispiel rendert ein HTML-Formular als PDF und füllt dann die firstname- und lastname-Felder, bevor es das Ergebnis speichert.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-fill-pdf-form/fill-form-from-html.py
from ironpdf import *

# Define HTML content for a simple form
form_html = """
<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>
"""

# Instantiate a PDF renderer
renderer = ChromePdfRenderer()

# Enable HTML form-to-PDF-field conversion
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

# Render the HTML content to a PDF file
renderer.RenderHtmlAsPdf(form_html).SaveAs("BasicForm.pdf")

# Load the created PDF document
form_document = PdfDocument.FromFile("BasicForm.pdf")

# Access the "firstname" field and set its value
first_name_field = form_document.Form.FindFormField("firstname")
first_name_field.Value = "Minnie"
print("FirstNameField value: {}".format(first_name_field.Value))

# Access the "lastname" field and set its value
last_name_field = form_document.Form.FindFormField("lastname")
last_name_field.Value = "Mouse"
print("LastNameField value: {}".format(last_name_field.Value))

# Save the filled form
form_document.SaveAs("FilledForm.pdf")
PYTHON

Das Setzen von CreatePdfFormsFromHtml auf True auf dem RenderingOptions-Attribut teilt dem Renderer mit, dass jedes <input>-Element im HTML in ein entsprechendes interaktives PDF-Feld übersetzt werden soll. Ohne dieses Flag werden Texteingaben als statische visuelle Elemente gerendert und können nicht programmatisch ausgefüllt werden.

Nach dem Rendern lädt PdfDocument.FromFile die gespeicherte Datei zurück in den Speicher. Die FindFormField-Methode akzeptiert das name-Attribut des Feldes als Zeichenfolge und gibt ein FormField-Objekt zurück. Durch Zuordnung zu Value werden die Daten in das Feld geschrieben. Der SaveAs-Aufruf schreibt das modifizierte Dokument auf die Festplatte.

TippsBeim Entwerfen von HTML-Formularen zur PDF-Konvertierung halten Sie die name-Attribute kurz und URL-sicher. Leerzeichen und Sonderzeichen in Feldnamen funktionieren, können jedoch die nachgelagerte FindFormField-Suche erschweren.

Wie sieht das leere Formular vor dem Ausfüllen aus?

IronPDF-gerendertes PDF, das ein leeres Formular mit Textfelder für 'Vorname' und 'Nachname' zeigt, bereit zur Dateneingabe

Das gerenderte PDF behält das visuelle Layout des HTML-Formulars bei. Jede Texteingabe erscheint als klickbares, bearbeitbares Feld. Beim Öffnen des Formulars in einem PDF-Reader können Benutzer weiterhin manuell in die Felder tippen, oder die Felder können über die API wie oben gezeigt ausgefüllt werden.

Wie sieht das ausgefüllte Formular nach dem Ausfüllen aus?

IronPDF-gefülltes PDF-Formular, das 'Minnie' im Vorname-Feld und 'Mouse' im Nachname-Feld nach dem programmatischen Ausfüllen anzeigt

Das ausgefüllte Dokument zeigt die in jedes Feld geschriebenen Werte. Die Formularstruktur und die Feldinteraktivität sind vollständig intakt: Das PDF kann so gespeichert werden für die Archivierung oder abgeflacht werden, um die Werte für die Verteilung festzuschreiben.

Wie fülle ich Felder in einem bestehenden PDF-Dokument aus?

Viele reale Arbeitsabläufe beinhalten PDF-Formulare, die in Adobe Acrobat, Word oder anderen Tools erstellt wurden. IronPDF kann jedes PDF laden, das AcroForm-Felder enthält, und diese mit derselben FindFormField- und Value-API füllen, die auch bei der Erstellung von Formularen aus HTML verwendet wird. AcroForm ist das standardisierte interaktive Formularformat, das in der PDF-Spezifikation definiert ist und von allen großen PDF-Readern unterstützt wird.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-fill-pdf-form/fill-existing-form.py
from ironpdf import *

# Load a pre-existing PDF with form fields
form_document = PdfDocument.FromFile("existing_form.pdf")

# Enumerate available field names (helpful when exploring an unfamiliar form)
for field in form_document.Form.Fields:
    print("Field name:", field.Name, "| Current value:", field.Value)

# Fill a specific field by name
applicant_name_field = form_document.Form.FindFormField("applicant_name")
applicant_name_field.Value = "Jane Smith"

# Fill a second field
date_field = form_document.Form.FindFormField("application_date")
date_field.Value = "2026-05-03"

# Save the filled document
form_document.SaveAs("submitted_application.pdf")
PYTHON

Das Iterieren form_document.Form.Fields bevor das Ausfüllen nützlich ist, wenn mit Formularen gearbeitet wird, deren Feldnamen nicht dokumentiert sind. Die Schleife gibt jeden Feldnamen und seinen aktuellen Wert aus und bietet eine vollständige Karte dessen, was das Formular erwartet, bevor Werte geschrieben werden.

Hinweis:IronPDF unterstützt AcroForm-Felder, das standardisierte interaktive Formularformat. Gescannte PDFs und reine Bilddokumente enthalten keine Felddaten; verwenden Sie IronOCR, um zuerst Text aus diesen Dokumenten zu extrahieren.

Icon Quote related to Wie fülle ich Felder in einem bestehenden PDF-Dokument aus?

Meine Lieblingsbibliothek dieser Art ist IronPDF. Es ermöglicht eine schnelle und effiziente Bearbeitung von PDF-Dateien. Es verfügt auch über viele wertvolle Funktionen, wie das Exportieren in das PDF/A-Format und das digitale Signieren von PDF-Dokumenten.

Milan Jovanovic related to Wie fülle ich Felder in einem bestehenden PDF-Dokument aus?

Milan Jovanovic

Microsoft MVP

Fallstudie ansehen
Icon Quote related to Wie fülle ich Felder in einem bestehenden PDF-Dokument aus?

IronOCR bedeutet, dass wir jährlich 40.000 $ durch manuelle Verarbeitung einsparen können, während die Produktivität gesteigert wird und Ressourcen für wichtige Aufgaben freigesetzt werden. Ich würde es sehr empfehlen.

Brent Matzelle related to Wie fülle ich Felder in einem bestehenden PDF-Dokument aus?

Brent Matzelle

Technischer Leiter, OPYN

Fallstudie ansehen
Icon Quote related to Wie fülle ich Felder in einem bestehenden PDF-Dokument aus?

Die Iron Suite spielt eine entscheidende Rolle in unseren Operationen. Diese Werkzeuge erhöhen die Effizienz im gesamten Unternehmen, einschließlich der Erstellung von Grundrissen und der Verbesserung des Bestandsmanagements.

David Jones related to Wie fülle ich Felder in einem bestehenden PDF-Dokument aus?

David Jones

Leitender Software-Ingenieur, Agorus Build

Fallstudie ansehen

Wie arbeite ich mit Kontrollkästchenen und anderen Feldtypen?

Textfelder sind das häufigste Formularelement, aber reale Formulare enthalten Kontrollkästchenen, Radiobuttons und Kombinationsfeld-Dropdowns. IronPDF stellt alle diese über dieselbe Form.Fields-Sammlung bereit. Die Value-Eigenschaft akzeptiert die geeignete Zeichenfolge für jeden Typ.

Die folgende Tabelle zeigt die akzeptierten Werte für die drei häufigsten nicht textlichen Feldtypen:

IronPDF PDF-Formularfeld-Wertkonventionen für nicht textliche Eingabetypen
FeldtypHTML-EingabetypZu setzender WertAnmerkungen
Kontrollkästchentype="checkbox""true" oder "false"Groß-/Kleinschreibung nicht empfindlich; Verwenden Sie String, nicht Boolean
Radiobuttontype="radio"Das value-Attribut der Option, die ausgewählt werden sollGleicher Name, unterschiedliche Werte pro Option
Dropdown (Kombinationsfeld)<select>Der Anzeigetext der gewünschten OptionMuss genau mit einer bestehenden Option übereinstimmen
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-fill-pdf-form/fill-field-types.py
from ironpdf import *

# Load a form with multiple field types
form_document = PdfDocument.FromFile("application_form.pdf")

# Fill a text field
form_document.Form.FindFormField("full_name").Value = "Alex Rivera"

# Check a checkbox (use string "true")
form_document.Form.FindFormField("agree_terms").Value = "true"

# Select a radio button option by its value attribute
form_document.Form.FindFormField("employment_status").Value = "full_time"

# Select a dropdown option by display text
form_document.Form.FindFormField("country").Value = "United States"

form_document.SaveAs("completed_application.pdf")
PYTHON

Beim Iterieren form_document.Form.Fields stellt jedes FormField-Objekt eine Name-Eigenschaft und eine Value-Eigenschaft bereit. Bei Radiogruppen und Dropdowns zeigt das Drucken des bestehenden Value vor dem Schreiben Ihnen die aktuelle Auswahl und bestätigt das erwartete Format für dieses Feld.

VorsichtWenn FindFormField gibt None zurück, existiert der Feldname nicht im Dokument. Drucken Sie alle Namen über form_document.Form.Fields, um die Rechtschreibung zu überprüfen und zu bestätigen, dass das Feld vorhanden ist. Feldnamen sind groß-/kleinschreibungsempfindlich.

Wie fülle ich Formulare in großen Mengen aus einer Datenquelle aus?

Das Generieren eines ausgefüllten PDFs pro Datensatz aus einer Tabelle oder einer Datenbankabfrage ist einer der häufigsten Gründe, warum Teams auf programmatisches Formularausfüllen zurückgreifen. IronPDF behandelt dies, indem jede Ausfülloperation als zustandslos betrachtet wird: Vorlage laden, Felder füllen, unter einem eindeutigen Namen speichern und wiederholen.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-fill-pdf-form/bulk-fill-forms.py
from ironpdf import *

# Sample data records (replace with database or CSV source)
applicants = [
    {"name": "Alice Johnson", "id": "A001", "date": "2026-05-03"},
    {"name": "Bob Williams", "id": "B002", "date": "2026-05-03"},
    {"name": "Carol Davis",  "id": "C003", "date": "2026-05-03"},
]

for applicant in applicants:
    # Load template from disk on each iteration to avoid cross-contamination
    form_document = PdfDocument.FromFile("application_template.pdf")

    # Fill each field from the data record
    form_document.Form.FindFormField("applicant_name").Value = applicant["name"]
    form_document.Form.FindFormField("applicant_id").Value   = applicant["id"]
    form_document.Form.FindFormField("submission_date").Value = applicant["date"]

    # Save each filled form with a unique filename
    output_path = f"output/application_{applicant['id']}.pdf"
    form_document.SaveAs(output_path)
    print(f"Saved: {output_path}")
PYTHON

Das Laden der Vorlage innerhalb der Schleife, anstatt einmal davor, verhindert, dass sich Feldwerte über Iterationen hinweg ansammeln. Jeder Aufruf von PdfDocument.FromFile erzeugt eine frische Kopie der Vorlage, sodass das Ausfüllen eines Datensatzes den nächsten nicht beeinträchtigen kann.

WichtigFür hochvolumige Batchläufe überlegen Sie, die Vorlage einmal mit PdfDocument.FromFile zu laden und einen Kopiermechanismus zu nutzen, wenn die API dies unterstützt. Vergleichen Sie beide Ansätze mit Ihren Volumenanforderungen, bevor Sie implementieren.

IronPDF setzt kein künstliches Limit, wie viele Dokumente ein Skript in einem einzigen Lauf erzeugen kann. Der Durchsatz wird durch den verfügbaren Speicher und die E/A-Geschwindigkeit des Ausgabemediums bestimmt. Für sehr große Mengen ist das Schreiben auf eine lokale SSD und der anschließende Transfer auf Netzwerkspeicher schneller als das direkte Schreiben auf ein Netzlaufwerk.

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

Das Abflachen wandelt interaktive Formularfelder in statische Seiteninhalte um und fixiert die aktuellen Werte. Ein abgeflachtes PDF ist die richtige Wahl für die Archivierung, das Drucken oder das Versenden an Empfänger, die keine Feldwerte ändern sollen.

IronPDF bietet eine Formularfelder abflachen Methode, die auf jedem geladenen PdfDocument funktioniert. Rufen Sie sie nach dem Ausfüllen der Felder auf und speichern Sie dann das Ergebnis.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-fill-pdf-form/flatten-form.py
from ironpdf import *

# Load and fill a form
form_document = PdfDocument.FromFile("application_template.pdf")
form_document.Form.FindFormField("full_name").Value = "Jordan Lee"
form_document.Form.FindFormField("application_date").Value = "2026-05-03"

# Flatten all form fields to lock values as static content
form_document.Form.Flatten()

# Save the flattened, non-editable PDF
form_document.SaveAs("archived_application.pdf")
PYTHON

Nach Flatten() enthält das Dokument keine interaktiven Feldobjekte mehr. Nachfolgende Systeme, die die Datei erhalten, sehen gewöhnliche Textinhalte anstelle von Formular-Widgets. Dies ist wichtig für die PDF/A-Archivierungsanforderungen und um unbeabsichtigte Bearbeitungen in mehrstufigen Überprüfungspipelines zu verhindern.

TippsFlachen Sie das Dokument unmittelbar vor dem Speichern ab, wenn es für die Archivierung bestimmt ist. Soll das gleiche Dokument erst überprüft und korrigiert werden, behalten Sie die interaktiven Felder bis zur endgültigen Speicherung bei.

Wie installiere ich IronPDF in Python?

IronPDF ist über PyPI erhältlich. Installieren Sie es mit pip:

pip install ironpdf

Nach der Installation importieren Sie die Bibliothek am Anfang jedes Skripts mit from ironpdf import *. Eine kostenlose Testlizenz steht zur Evaluierung bereit. Produktionsbereitstellungen erfordern einen kommerziellen Lizenzschlüssel, der über die Eigenschaft License.LicenseKey festgelegt wird, bevor PDF-Operationen ausgeführt werden.

Hinweis:IronPDF erfordert Python 3.6 oder höher. Das Paket enthält eine headless Chromium-Engine, die für das HTML-zu-PDF-Rendering verwendet wird, daher kann der erste Import einen Moment dauern, während die Engine initialisiert wird.

Was sind die nächsten Schritte für die PDF-Formularautomatisierung in Python?

Dieser Leitfaden behandelte das Erstellen von PDF-Formularen aus HTML, das Ausfüllen von Feldern in bestehenden Dokumenten, das Arbeiten mit Kontrollkästchenen und Dropdown-Feldern, das Generieren von Chargen ausgefüllter Formulare aus Datensätzen und das Abflachen ausgefüllter PDFs zur Archivierung. Jede Technik verwendet dieselbe Kern-API: FindFormField, um ein Feld nach Name zu lokalisieren, Value, um Daten zuzuweisen, und SaveAs, um das Ergebnis zu schreiben.

Um verwandte Fähigkeiten in IronPDF for Python zu erkunden:

Starten Sie eine kostenlose Testversion, um das Ausfüllen von Formularen in Ihrem eigenen Python-Projekt zu testen. Wenn Sie bereit sind, einzusetzen, sehen Sie sich Lizenzierungsoptionen für Einzehlentwickler- und Unternehmenspakete an.

Häufig gestellte Fragen

Was sind die grundlegenden Schritte, um ein PDF-Formular programmgesteuert in Python auszufüllen?

Installieren Sie IronPDF mit ‹code›pip install ironpdf‹/code›, laden Sie Ihr PDF mit ‹code›PdfDocument.FromFile()‹/code›, finden Sie das Zielfeld mit ‹code›form_document.Form.FindFormField()‹/code›, weisen Sie einen Wert zu ‹code›field.Value‹/code› zu, dann speichern Sie mit ‹code›SaveAs()‹/code›.

Wie kann ich auf bestimmte Formularfelder in einem PDF-Dokument zugreifen und sie ändern?

Verwenden Sie die ‹code›FindFormField‹/code›-Methode auf dem ‹code›Form‹/code›-Attribut eines geladenen ‹code›PdfDocument‹/code›, indem Sie den Feldnamen als String übergeben. Die Methode gibt ein ‹code›FormField‹/code›-Objekt zurück, dessen ‹code›Value‹/code›-Eigenschaft Sie lesen oder setzen können.

Wie fülle ich Kontrollkästchen und Dropdown-Felder mit IronPDF?

Für Kontrollkästchen setzen Sie ‹code›Value‹/code› auf den String ‹code›"true"‹/code› oder ‹code›"false"‹/code›. Für Optionsfelder setzen Sie ‹code›Value‹/code› auf das Wertattribut der gewünschten Option. Für Dropdowns setzen Sie ‹code›Value‹/code› auf den genauen Anzeigetext der Option, die Sie ausgewählt haben möchten.

Kann ich das massenhafte Ausfüllen von PDF-Formularen für mehrere Dokumente automatisieren?

Ja. Laden Sie die Vorlage in einer Schleife mit ‹code›PdfDocument.FromFile()‹/code› bei jeder Iteration, um eine frische Kopie zu erhalten, füllen Sie die Felder aus Ihrer Datenquelle, und speichern Sie jedes Ergebnis mit einem eindeutigen Dateinamen mit ‹code›SaveAs()‹/code›.

Was ist Form Flachen und wann sollte ich es verwenden?

Glätten konvertiert interaktive Formularfelder in statischen Seiteninhalt und sperrt Werte an Ort und Stelle. Rufen Sie ‹code›form_document.Form.Flatten()‹/code› vor dem Speichern auf, wenn das Dokument zur Archivierung, zum Drucken oder zur Verteilung an Empfänger bestimmt ist, die keine Feldwerte bearbeiten sollen.

Was passiert, wenn FindFormField ein Feld nicht finden kann?

Wenn kein Feld mit dem angegebenen Namen existiert, gibt ‹code›FindFormField‹/code› ‹code›None‹/code› zurück. Durchlaufen Sie ‹code›form_document.Form.Fields‹/code›, um alle verfügbaren Feldnamen auszudrucken und die korrekte Schreibweise zu bestätigen. Feldnamen sind groß-/kleinschreibungssensitiv.

Welche Arten von PDF-Formularen unterstützt IronPDF?

IronPDF unterstützt AcroForm-Felder, das Standardformat für interaktive Formulare, das von Adobe Acrobat und den meisten PDF-Autorentools verwendet wird. Gescannte PDFs und rein bildbasierte Dokumente enthalten keine AcroForm-Felder und erfordern eine OCR-Verarbeitung, bevor eine Textextraktion möglich ist.

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

Weiterlesen
Bereit anzufangen?
Version: 2026.6 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis?
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.