Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Wie man PDF-Formulare in C# erstellt, ausfüllt und extrahiert, indem man ein .NET SDK verwendet

Interaktive PDF-Formulare verwandeln statische Dokumente in Datenerfassungswerkzeuge, die Sie vollständig im Code generieren und verarbeiten können. Ob es um die Erstellung von Patientenaufnahmeportalen, die Automatisierung von Kreditanträgen oder die Generierung von Tausenden vorausgefüllter Compliance-Formulare aus einer Datenbank geht – IronPDF bietet .NET -Entwicklern eine einzige, konsistente API für jede Formularaufgabe – Erstellung, Befüllung der Felder, Datenextraktion und Massenverarbeitung.

Dieser Leitfaden führt Sie durch jede dieser Aufgaben und enthält funktionierende C#-Codebeispiele, die Sie direkt in ein .NET 10-Projekt einfügen können.

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 1 - IronPDF

Wie fängt man mit IronPDF an?

IronPDF ist über NuGet verfügbar und lässt sich in etwa einer Minute zu jedem .NET Projekt hinzufügen. Öffnen Sie die Paketmanager-Konsole in Visual Studio und führen Sie den Befehl aus:

Install-Package IronPdf
Install-Package IronPdf
SHELL

Sie können auch in der NuGet Paketmanager-GUI nach IronPDF suchen oder es über die .NET CLI mit dotnet add package IronPdf hinzufügen. Es werden keine zusätzlichen Laufzeitabhängigkeiten oder Konfigurationsdateien benötigt – die Bibliothek wird mit allem ausgeliefert, was zum Rendern von PDFs unter Windows, Linux, macOS, Docker und Kubernetes erforderlich ist.

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 3 - Installation

Das Paket ist für .NET Framework 4.6.2+ und alle modernen .NET Versionen, einschließlich .NET 8, .NET 9 und .NET 10, geeignet. Nach der Installation des Pakets fügen Sie using IronPdf; am Anfang Ihrer Datei ein, und Sie können Ihr erstes PDF-Formular generieren.

Die Flexibilität bei plattformübergreifenden Bereitstellungen ist in Produktionsumgebungen von entscheidender Bedeutung. IronPDF läuft unabhängig davon, ob Ihre Anwendung auf Windows Server, einen Linux-Container oder eine Azure Function App abzielt, konsistent – ​​derselbe Code erzeugt in jeder Umgebung die gleiche Ausgabe.

Was bewirkt das Funktionieren von PDF-Formularen? AcroForms verstehen

Bevor man mit dem Programmieren beginnt, ist es hilfreich zu verstehen, was man eigentlich baut. Die AcroForm-Spezifikation – seit 1998 Teil des PDF-Standards – definiert interaktive Formularfelder, die von jedem gängigen PDF-Viewer angezeigt und ausgefüllt werden können. AcroForms unterstützt Textfelder, Kontrollkästchen, Optionsfelder, Dropdown-Listen, Listenfelder und Unterschriftenfelder.

AcroForms sind das Format, das IronPDF erstellt und liest. Im Gegensatz zu XFA-Formularen (einem älteren, proprietären Adobe-Format) funktionieren AcroForms problemlos mit Adobe Reader, browserbasierten PDF-Viewern und mobilen Apps. Wenn Sie mit IronPDFPDF-Formulare erstellen , erhalten Sie ein standardkonformes AcroForm-PDF, das von jedem Viewer geöffnet werden kann.

Jedes Formularfeld hat einen Namen, einen Typ und einen Wert. Der Name ist der Schlüssel, den Sie beim programmatischen Lesen oder Schreiben von Daten verwenden. Feldnamen müssen innerhalb eines Dokuments eindeutig sein. Wenn Sie ein Formular anhand eines Namens ausfüllen und der Feldname nicht exakt übereinstimmt, hat der Schreibvorgang keine Auswirkung. Dies ist eine häufige Fehlerquelle beim Ausfüllen von Formularen aus einem Datenbankschema.

Die Feldtypen legen fest, welche Werte akzeptiert werden. Textfelder akzeptieren beliebige Zeichenketten. Kontrollkästchen akzeptieren "Ja" oder "Nein". Optionsfelder akzeptieren den Zeichenkettenwert der ausgewählten Option. Dropdown-Listen akzeptieren den Zeichenkettenwert des ausgewählten Elements, der eine der Optionen sein muss, die beim Erstellen des Feldes definiert wurden.

Wie erstellt man ein PDF-Formular aus HTML?

Am schnellsten erstellt man ein ausfüllbares PDF-Formular, indem man es als Standard-HTML schreibt und es dann konvertiert. Jedes HTML-Formularelement wird direkt seinem AcroForm-Äquivalent zugeordnet: <input type="text"> wird zu einem Textfeld, <input type="checkbox"> zu einer Checkbox, <select> zu einer Dropdown-Liste und <textarea> zu einem mehrzeiligen Textfeld.

Aktivieren Sie die Formularerstellung, indem Sie CreatePdfFormsFromHtml = true auf RenderingOptions des Renderers setzen. Ohne dieses Flag werden HTML-Formularelemente als statischer visueller Inhalt dargestellt – man kann sie im PDF sehen, aber sie sind keine interaktiven Felder.

using IronPdf;

// HTML with form elements for PDF generation
string formHtml = @"
<html>
<body>
    <h2>Customer Registration</h2>
    <form>
        <label>Full Name:</label><br/>
        <input type='text' name='fullName'><br/>
        <label>Email Address:</label><br/>
        <input type='email' name='email'><br/>
        <label>Account Type:</label><br/>
        <select name='accountType'>
            <option value='personal'>Personal</option>
            <option value='business'>Business</option>
        </select><br/>
        <label>Newsletter:</label><br/>
        <input type='checkbox' name='newsletter' value='yes'>Subscribe<br/>
        <label>Comments:</label><br/>
        <textarea name='comments' rows='4' style='width:300px'></textarea>
    </form>
</body>
</html>";

// Enable form field generation from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render and save the PDF with interactive fields
PdfDocument pdf = renderer.RenderHtmlAsPdf(formHtml);
pdf.SaveAs("registration-form.pdf");
using IronPdf;

// HTML with form elements for PDF generation
string formHtml = @"
<html>
<body>
    <h2>Customer Registration</h2>
    <form>
        <label>Full Name:</label><br/>
        <input type='text' name='fullName'><br/>
        <label>Email Address:</label><br/>
        <input type='email' name='email'><br/>
        <label>Account Type:</label><br/>
        <select name='accountType'>
            <option value='personal'>Personal</option>
            <option value='business'>Business</option>
        </select><br/>
        <label>Newsletter:</label><br/>
        <input type='checkbox' name='newsletter' value='yes'>Subscribe<br/>
        <label>Comments:</label><br/>
        <textarea name='comments' rows='4' style='width:300px'></textarea>
    </form>
</body>
</html>";

// Enable form field generation from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render and save the PDF with interactive fields
PdfDocument pdf = renderer.RenderHtmlAsPdf(formHtml);
pdf.SaveAs("registration-form.pdf");
$vbLabelText   $csharpLabel

Das name-Attribut jedes HTML-Eingabefelds wird zum Feldnamen im PDF. Diesen Namen verwenden Sie später beim programmatischen Lesen oder Schreiben von Feldwerten. Wählen Sie Namen, die zu Ihrem Datenmodell passen – wenn Sie dieses Formular mit Daten aus einem Datenbankobjekt füllen, benennen Sie die Felder nach den Eigenschaften des Objekts.

Ausgabe

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 4 - PDF-Ausgabe

Texteingabefelder und Textbereiche werden als bearbeitbare Textfelder dargestellt. Optionsfelder mit übereinstimmenden name Attributen werden gruppiert, sodass nur eines ausgewählt werden kann. Kontrollkästchen werden als umschaltbare Felder dargestellt. Das resultierende PDF öffnet sich in jedem gängigen PDF-Viewer, wobei alle Formularfelder zum Ausfüllen bereit sind.

Dieser HTML-basierte Ansatz eignet sich gut, wenn Formulardesigns bereits als Webseiten vorliegen, wenn Ihr Team die Formulare lieber im Markup pflegt oder wenn Sie Formulare generieren müssen, die genau zu den vorhandenen HTML-Vorlagen Ihrer Anwendung passen. Der Renderer kümmert sich um alle Details der PDF-Spezifikation.

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 5 - Funktionen

Wie fügt man programmatisch Formularfelder zu einem PDF hinzu?

Wenn eine präzise Koordinatensteuerung erforderlich ist oder wenn Sie Formularfelder zu einem bestehenden PDF-Dokument hinzufügen, bietet Ihnen die programmatische Formularfeld-API die direkte Kontrolle über Position, Größe und Standardwert jedes Feldes.

Erstellen Sie Feldobjekte mit expliziten Seitenkoordinaten. Der Ursprung (0, 0) befindet sich in der unteren linken Ecke der Seite, wobei x nach rechts und y nach oben zunimmt - dasselbe Koordinatensystem, das in der gesamten PDF-Spezifikation verwendet wird.

using IronPdf;
using IronSoftware.Forms;

// Generate a base PDF document to add fields to
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(
    "<h1>Application Form</h1><p>Please complete all fields below.</p>");

// Text field: name, default value, page index, x, y, width, height
var nameField = new TextFormField("applicantName", "", 0, 50, 700, 200, 20);
pdf.Form.Add(nameField);

// Checkbox field with default unchecked state
var termsCheckbox = new CheckboxFormField("agreeTerms", "no", 0, 50, 650, 15, 15);
pdf.Form.Add(termsCheckbox);

// Dropdown with a defined list of options
var departmentCombo = new ComboboxFormField(
    "department", "", 0, 50, 600, 150, 20,
    new List<string> { "Engineering", "Marketing", "Sales", "Support" });
pdf.Form.Add(departmentCombo);

// Save the output document
pdf.SaveAs("application-with-fields.pdf");
using IronPdf;
using IronSoftware.Forms;

// Generate a base PDF document to add fields to
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(
    "<h1>Application Form</h1><p>Please complete all fields below.</p>");

// Text field: name, default value, page index, x, y, width, height
var nameField = new TextFormField("applicantName", "", 0, 50, 700, 200, 20);
pdf.Form.Add(nameField);

// Checkbox field with default unchecked state
var termsCheckbox = new CheckboxFormField("agreeTerms", "no", 0, 50, 650, 15, 15);
pdf.Form.Add(termsCheckbox);

// Dropdown with a defined list of options
var departmentCombo = new ComboboxFormField(
    "department", "", 0, 50, 600, 150, 20,
    new List<string> { "Engineering", "Marketing", "Sales", "Support" });
pdf.Form.Add(departmentCombo);

// Save the output document
pdf.SaveAs("application-with-fields.pdf");
$vbLabelText   $csharpLabel

TextFormField erzeugt ein einzeiliges Texteingabefeld. CheckboxFormField fügt eine umschaltbare Checkbox ein. ComboboxFormField erstellt ein Dropdown-Menü, das auf die angegebene Optionsliste beschränkt ist. Jede Klasse stellt zusätzliche Eigenschaften zum Festlegen der Tabulatorreihenfolge, des Tooltip-Texts, des Schreibschutzstatus und der Kennzeichnung von Pflichtfeldern bereit.

Beide Ansätze – HTML-Konvertierung und programmatische Felderstellung – können kombiniert werden. Generieren Sie das Basislayout aus HTML für eine effiziente Template-Steuerung und fügen Sie dann mithilfe der API spezialisierte Felder mit präziser Positionierung hinzu. Die Anleitung zum Ausfüllen und Bearbeiten von Formularen deckt die gesamte Bandbreite der verfügbaren Feldtypen ab.

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 6 - PDF Forms .NET SDK - IronPDF

Wie füllt man ein bestehendes PDF-Formular aus?

Viele Arbeitsabläufe beginnen mit einem bereits vorhandenen PDF-Formular – einer Regierungsvorlage, einem Lieferantenvertrag oder einem standardisierten Antrag, den Ihre Organisation von Partnern erhält. Durch das programmgesteuerte Ausfüllen dieser Formulare können Sie die Dokumentenerstellung automatisieren, ohne das ursprüngliche Design neu erstellen zu müssen.

Laden Sie die vorhandene PDF-Datei mit PdfDocument.FromFile, suchen Sie jedes Feld anhand seines Namens mit FindFormField und weisen Sie der Eigenschaft Value des Feldes einen Wert zu.

using IronPdf;

// Load the existing PDF containing AcroForm fields
PdfDocument pdf = PdfDocument.FromFile("existing-application.pdf");

// Fill text fields by exact field name
var nameField = pdf.Form.FindFormField("applicantName");
nameField.Value = "Sarah Johnson";

var emailField = pdf.Form.FindFormField("email");
emailField.Value = "sarah.johnson@example.com";

// Set checkbox and radio button values
var termsField = pdf.Form.FindFormField("agreeTerms");
termsField.Value = "Yes";

var accountTypeField = pdf.Form.FindFormField("accountType");
accountTypeField.Value = "business";

// Set dropdown selection to one of its defined options
var departmentField = pdf.Form.FindFormField("department");
departmentField.Value = "Engineering";

// Save the completed form
pdf.SaveAs("completed-application.pdf");
using IronPdf;

// Load the existing PDF containing AcroForm fields
PdfDocument pdf = PdfDocument.FromFile("existing-application.pdf");

// Fill text fields by exact field name
var nameField = pdf.Form.FindFormField("applicantName");
nameField.Value = "Sarah Johnson";

var emailField = pdf.Form.FindFormField("email");
emailField.Value = "sarah.johnson@example.com";

// Set checkbox and radio button values
var termsField = pdf.Form.FindFormField("agreeTerms");
termsField.Value = "Yes";

var accountTypeField = pdf.Form.FindFormField("accountType");
accountTypeField.Value = "business";

// Set dropdown selection to one of its defined options
var departmentField = pdf.Form.FindFormField("department");
departmentField.Value = "Engineering";

// Save the completed form
pdf.SaveAs("completed-application.pdf");
$vbLabelText   $csharpLabel

FindFormField findet Felder anhand des Namens, der ihnen bei der Formularerstellung zugewiesen wurde. Bei der Feldnamenübereinstimmung wird zwischen Groß- und Kleinschreibung unterschieden, und zwar exakt – "applicantName" und "ApplicantName" sind unterschiedliche Felder. Wenn Sie ein Formular eines Drittanbieters ausfüllen und sich über die Feldnamen nicht im Klaren sind, iterieren Sie über pdf.Form, um den Namen jedes Feldes auszugeben, bevor Sie versuchen, das Formular anhand des Namens auszufüllen.

Eingabe

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 7 – Beispiel-PDF-Eingabe

Ausgabe

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 8 – Ausgabe des ausgefüllten PDFs

Unterschiedliche Feldtypen erfordern geeignete Werteformate. Textfelder akzeptieren beliebige Zeichenketten. Kontrollkästchen akzeptieren "Ja" oder "Nein". Optionsfelder akzeptieren den Zeichenkettenwert der gewünschten Option. Dropdown-Listen akzeptieren den Zeichenkettenwert einer der definierten Optionen – die Angabe eines Wertes, der nicht in der Optionsliste enthalten ist, hat keine Auswirkung.

Bei der Verarbeitung von Formularen mit vielen Feldern iterieren Sie direkt über pdf.Form, anstatt FindFormField wiederholt aufzurufen. Iteration ist bei Massenoperationen effizienter und vermeidet wiederholte lineare Suchvorgänge in der Feldsammlung.

Wie liest und extrahiert man Formularfelddaten?

Das Extrahieren von Formulardaten aus übermittelten PDFs ist der umgekehrte Vorgang: Man lädt ein ausgefülltes Formular und liest dann den Namen und den aktuellen Wert jedes Feldes zur Weiterverarbeitung aus. Dieses Muster ermöglicht automatisierte Erfassungsprozesse, bei denen Benutzer ein PDF-Formular ausfüllen, es hochladen und die Anwendung die Daten ohne manuelle Dateneingabe verarbeitet.

using IronPdf;

// Load the completed, submitted PDF form
PdfDocument pdf = PdfDocument.FromFile("submitted-form.pdf");

// Iterate all fields to extract names, values, and types
Console.WriteLine("Form Data Extraction:");
Console.WriteLine("----------------------");
foreach (var field in pdf.Form)
{
    Console.WriteLine($"Field: {field.Name}");
    Console.WriteLine($"Value: {field.Value}");
    Console.WriteLine($"Type:  {field.GetType().Name}");
    Console.WriteLine();
}

// Or retrieve specific fields for targeted processing
var customerName  = pdf.Form.FindFormField("applicantName")?.Value ?? "Not provided";
var customerEmail = pdf.Form.FindFormField("email")?.Value ?? "Not provided";
Console.WriteLine($"Customer: {customerName} ({customerEmail})");
using IronPdf;

// Load the completed, submitted PDF form
PdfDocument pdf = PdfDocument.FromFile("submitted-form.pdf");

// Iterate all fields to extract names, values, and types
Console.WriteLine("Form Data Extraction:");
Console.WriteLine("----------------------");
foreach (var field in pdf.Form)
{
    Console.WriteLine($"Field: {field.Name}");
    Console.WriteLine($"Value: {field.Value}");
    Console.WriteLine($"Type:  {field.GetType().Name}");
    Console.WriteLine();
}

// Or retrieve specific fields for targeted processing
var customerName  = pdf.Form.FindFormField("applicantName")?.Value ?? "Not provided";
var customerEmail = pdf.Form.FindFormField("email")?.Value ?? "Not provided";
Console.WriteLine($"Customer: {customerName} ({customerEmail})");
$vbLabelText   $csharpLabel

Die Eigenschaft Form stellt eine aufzählbare Sammlung aller Felder im Dokument bereit. Jedes Feldobjekt liefert seine Name, aktuellen Value und Typinformationen. Generische Formularprozessoren verwenden dieses Muster, um beliebige PDF-Formularstrukturen ohne fest codierte Feldnamen zu verarbeiten.

Ausgabe

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 9 - Konsolenausgabe

Der Null-Bedingungsoperator ?. on FindFormField behandelt Fälle, in denen ein erwartetes Feld fehlt - nützlich bei der Verarbeitung von Formularen aus mehreren Quellen, die möglicherweise leicht unterschiedliche Feldstrukturen aufweisen. Geben Sie immer einen Ausweichwert oder eine Nullprüfung an, anstatt davon auszugehen, dass das Feld existiert.

Die extrahierten Daten werden direkt in Entity Framework oder ADO .NET für Datenbankzugriffe, JSON-Serialisierung für API-Antworten und CSV-Generierung für die Berichterstellung integriert. Kombinieren Sie IronPDF mit IronOCR , wenn Sie auch Daten aus gescannten oder bildbasierten Formulareinsendungen extrahieren müssen, bei denen Felder nicht digital ausgefüllt wurden.

Wie generiert man personalisierte Formulare in großem Umfang?

Der häufigste Anwendungsfall für die Automatisierung von PDF-Formularen ist die Stapelverarbeitung – die Erstellung von Hunderten oder Tausenden von Formularen, die mit Daten aus einer Datenbank, einer API oder einer CSV-Datei vorausgefüllt werden. Dies lässt sich mit einer einfachen Schleife ohne zusätzliche Infrastruktur bewerkstelligen.

using IronPdf;

// Retrieve customer records from your data source
var customers = GetCustomersFromDatabase();

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

foreach (var customer in customers)
{
    // Build an HTML template with static data pre-filled and interactive fields for user input
    string formHtml = $@"
    <html><body>
        <h2>Annual Review Form</h2>
        <p>Customer: {customer.Name}</p>
        <p>Account:  {customer.AccountNumber}</p>
        <label>Satisfaction Rating (1-5):</label><br/>
        <input type='text' name='rating' maxlength='1'><br/>
        <label>Feedback:</label><br/>
        <textarea name='feedback' rows='5' style='width:100%'></textarea>
    </body></html>";

    PdfDocument pdf = renderer.RenderHtmlAsPdf(formHtml);
    pdf.SaveAs($"review-form-{customer.AccountNumber}.pdf");
}
using IronPdf;

// Retrieve customer records from your data source
var customers = GetCustomersFromDatabase();

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

foreach (var customer in customers)
{
    // Build an HTML template with static data pre-filled and interactive fields for user input
    string formHtml = $@"
    <html><body>
        <h2>Annual Review Form</h2>
        <p>Customer: {customer.Name}</p>
        <p>Account:  {customer.AccountNumber}</p>
        <label>Satisfaction Rating (1-5):</label><br/>
        <input type='text' name='rating' maxlength='1'><br/>
        <label>Feedback:</label><br/>
        <textarea name='feedback' rows='5' style='width:100%'></textarea>
    </body></html>";

    PdfDocument pdf = renderer.RenderHtmlAsPdf(formHtml);
    pdf.SaveAs($"review-form-{customer.AccountNumber}.pdf");
}
$vbLabelText   $csharpLabel

Die HTML-Vorlage bettet statische Kundendaten direkt ein, sodass der Empfänger seinen Namen und seine Kontonummer vorgedruckt sieht, und bietet interaktive Felder für die von ihm anzugebenden Daten. Die Stapelverarbeitung von Hunderten von Datensätzen ist in Sekundenschnelle abgeschlossen, anstatt der Stunden, die eine manuelle Vorbereitung in Anspruch nehmen würde.

Die Schleifenstruktur funktioniert mit jeder Datenquelle: Entity Framework-Abfragen , API-Antworten oder CSV-Importen. Jeder Durchlauf erzeugt ein vollständiges, zur Verteilung bereites PDF, das auf den jeweiligen Datensatz zugeschnitten ist. Für Szenarien mit hohem Durchsatz verwenden Sie await mit Task.WhenAll, um Formulare parallel zu rendern - die Methode RenderHtmlAsPdfAsync von IronPDF unterstützt vollständig asynchrones Rendern.

Nach der Stapelgenerierung werden die Formulare üblicherweise in einem ZIP-Archiv für die Verteilung mit IronZIP verpackt, per E-Mail-Integration versendet, in einen Cloud-Speicher hochgeladen oder zur Vervollständigung an eine Plattform für elektronische Signaturen weitergeleitet.

Wie kann man PDF-Formulare nach dem Ausfüllen sperren oder in eine flache Ansicht umwandeln?

Sobald ein Formular vollständig ausgefüllt und validiert ist, muss es oft gesperrt werden, damit die Werte nicht mehr bearbeitet werden können. Durch das Glätten werden alle interaktiven Formularfelder in statische, nicht bearbeitbare visuelle Inhalte umgewandelt, wobei das genaue Erscheinungsbild des ausgefüllten Formulars erhalten bleibt.

using IronPdf;

// Load a completed, signed form
PdfDocument pdf = PdfDocument.FromFile("completed-application.pdf");

// Flatten all form fields - converts interactive fields to static content
pdf.Form.Flatten();

// Save the locked, non-editable version
pdf.SaveAs("locked-application.pdf");
using IronPdf;

// Load a completed, signed form
PdfDocument pdf = PdfDocument.FromFile("completed-application.pdf");

// Flatten all form fields - converts interactive fields to static content
pdf.Form.Flatten();

// Save the locked, non-editable version
pdf.SaveAs("locked-application.pdf");
$vbLabelText   $csharpLabel

Das Flattening ist der richtige Ansatz für die Archivierung ausgefüllter Formulare, die Erstellung von PDF/A-konformen Dokumenten für die Langzeitarchivierung und die Produktion von Endfassungen zur Verteilung. Nach dem Reduzieren der Formulardaten sind diese zwar noch sichtbar, können aber nicht mehr geändert werden. Der PDF-Leitfaden zum Glätten von Bildfeldern beschreibt weitere Glättungsoptionen, einschließlich selektiver Bildfeldglättung.

Für Szenarien, die eine rechtsverbindliche Fertigstellung erfordern, unterstützt IronPDF auch digitale Signaturen , die die Identität des Unterzeichners kryptografisch mit dem Dokument verknüpfen. Digitale Signaturen und die Formularglättung dienen unterschiedlichen Zwecken – Signaturen beweisen die Authentizität, die Glättung verhindert die Manipulation.

Was sind Ihre nächsten Schritte?

PDF-Formulare in .NET umfassen vier Kernoperationen: das Erstellen von Formularen aus HTML oder über die API, das Befüllen vorhandener Formulare aus Datenquellen, das Extrahieren übermittelter Daten und das Stapelgenerieren personalisierter Kopien in großem Umfang. IronPDF verarbeitet alle vier Systeme über eine einheitliche API, wobei derselbe Code unter Windows, Linux, macOS und in Containern ausgeführt wird.

Die Anleitung zum Erstellen von PDF-Formularen behandelt jeden verfügbaren Feldtyp mit Codebeispielen. Der Leitfaden zum Ausfüllen und Bearbeiten von Formularen geht detaillierter auf Massenaktualisierungen von Feldern, Optionsfeldgruppen und die Handhabung von Listenfeldern ein. Das IronPDF Dokumentationsportal bietet die vollständige API-Referenz sowie weiterführende Themen wie mehrseitige Formulare, Formularfeldvalidierung und Leistungsoptimierung für Pipelines mit hohem Datenaufkommen.

Starten Sie eine kostenlose Testversion , um die Funktionen von PDF-Formularen in Ihrem eigenen Projekt zu erkunden, oder informieren Sie sich über die Lizenzoptionen für den Produktiveinsatz.

PDF Forms .NET SDK: Erstellen ausfüllbarer PDFs in C# mit IronPDF: Bild 10 - Lizenzierung

Häufig gestellte Fragen

Welchen PDF-Formularstandard verwendet IronPDF?

IronPDF erstellt und liest AcroForms - den interaktiven Formularstandard, der seit 1998 in der PDF-Spezifikation definiert ist. AcroForms werden von Adobe Reader, browserbasierten PDF-Viewern und Mobile Apps unterstützt, im Gegensatz zum älteren XFA-Format, das eine eingeschränkte Kompatibilität aufweist.

Wie aktivieren Sie die Formularfelderstellung aus HTML in IronPDF?

Setzen Sie `renderer.RenderingOptions.CreatePdfFormsFromHtml = true` bevor Sie `RenderHtmlAsPdf` aufrufen. Ohne diese Flagge werden HTML-Formularelemente als statische visuelle Inhalte und nicht als interaktive AcroForm-Felder gerendert.

Wie füllen Sie ein bestimmtes Feld in einem vorhandenen PDF-Formular aus?

Laden Sie das PDF mit `PdfDocument.FromFile`, rufen Sie `pdf.Form.FindFormField("fieldName")` auf, um das Feldobjekt zu erhalten, und weisen Sie dessen `Value`-Eigenschaft einen String zu. Der Feldnamen-Abgleich ist Groß-/Kleinschreibungssensitiv. Speichern Sie das Ergebnis mit `pdf.SaveAs`.

Wie extrahieren Sie alle Formularfeldwerte aus einem eingereichten PDF?

Iterieren Sie über `pdf.Form` mit `foreach (var field in pdf.Form)` und lesen Sie die Eigenschaften `Name` und `Value` jedes Feldes aus. Für gezielte Extraktion, verwenden Sie `pdf.Form.FindFormField("name")?.Value` mit dem null-bedingten Operator, um fehlende Felder sicher zu behandeln.

Kann IronPDF Hunderte von Formularen aus einer Datenbank in einer Schleife generieren?

Ja. Erstellen Sie einen `ChromePdfRenderer` mit `CreatePdfFormsFromHtml = true`, iterieren Sie über Ihre Datensätze, bauen Sie pro Datensatz eine HTML-Zeichenfolge, rufen Sie `RenderHtmlAsPdf` auf und speichern Sie jedes Ergebnis. Für hohen Durchsatz, verwenden Sie `RenderHtmlAsPdfAsync` mit `Task.WhenAll` für paralleles Rendering.

Was bewirkt das Flatten eines PDF-Formulars?

Flatten konvertiert alle interaktiven Formularfelder in statischen, nicht bearbeitbaren visuellen Inhalt, während das genaue Erscheinungsbild des ausgefüllten Formulars erhalten bleibt. Rufen Sie `pdf.Form.Flatten()` auf und speichern Sie dann. Das Ergebnis eignet sich für die Archivierung, PDF/A-Konformität und die Verteilung, wo die Feldbearbeitung verhindert werden muss.

Funktioniert IronPDF auf Linux und in Docker-Containern?

Ja. IronPDF läuft auf Windows, Linux, macOS, Docker und Kubernetes. Derselbe C#-Code erzeugt auf allen Plattformen dasselbe PDF-Ausgabeergebnis. Siehe die IronPDF Linux und Docker Guides in der Dokumentation für plattformspezifische Konfigurationen.

Welche Plattformen und .NET-Versionen unterstützt IronPDF für PDF-Formulare?

IronPDF unterstützt .NET Framework 4.6.2 und höher sowie alle modernen .NET-Versionen einschließlich .NET 6, .NET 7, .NET 8, .NET 9 und .NET 10. Es unterstützt auch ASP.NET, ASP.NET Core, Blazor Server, Azure Functions und MAUI-Anwendungen.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me