
Adobe introduceerde een interactief en dynamisch formulier genaamd XFA-formulieren. XFA staat voor XML Forms Architecture. XFA-formulier is vergelijkbaar met een HTML-bestand. Het bevat invulbare velden en bepaalt de lay-out of het uiterlijk als een formulier dat is ingesloten in PDF-documenten. In dit artikel leren we hoe XFA-formulieren moeten worden ingevuld en gelezen met C#. In dit artikel komen de volgende onderwerpen aan bod:
- [C# API om XFA-formulieren te lezen en in te vullen][1]
- [Vul XFA-formulieren in met C#][2]
- [Lees XFA-formulieren met C#][3]
C# API om XFA-formulieren te lezen en in te vullen
Voor het werken met XFA [PDF][4]-formulieren gebruiken we de [Aspose.PDF for .NET][5] API. Hiermee kunnen we [ondersteunde documenten][6] genereren, wijzigen, converteren, weergeven, beveiligen en afdrukken zonder Adobe Acrobat te gebruiken. [Download][7] de DLL van de API of installeer deze met [NuGet][8].
PM> Install-Package Aspose.Pdf
XFA-formulieren invullen met C#
We kunnen XFA-formulieren programmatisch invullen door de onderstaande stappen te volgen:
- Laad eerst een XFA-formulierbestand met de klasse [Document][9].
- Krijg namen van de geladen [XFA][10] formuliervelden.
- Stel veldwaarden in.
- Roep ten slotte de methode [Save()][11] aan. Het neemt het pad van het uitvoerbestand als argument.
Het volgende codevoorbeeld laat zien hoe een XFA-formulier moet worden ingevuld met C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
// This code example demonstrates how to fill an XFA form. // Load XFA form Document doc = new Document(@"C:\Files\PDF\FillXFAFields.pdf"); // Get names of XFA form fields string[] names = doc.Form.XFA.FieldNames; // Set field values doc.Form.XFA[names[0]] = "12345"; doc.Form.XFA[names[1]] = "24/02/2022"; doc.Form.XFA[names[2]] = "Company Name"; doc.Form.XFA[names[3]] = "Company Address"; doc.Form.XFA[names[4]] = "Company City"; doc.Form.XFA[names[5]] = "Canada"; doc.Form.XFA[names[6]] = "Alberta"; doc.Form.XFA[names[7]] = "T9S"; doc.Form.XFA[names[8]] = "+112345567"; doc.Form.XFA[names[10]] = "Mr. John Smith"; doc.Form.XFA[names[11]] = "Delivered to Company Name"; doc.Form.XFA[names[12]] = "Delivery Company Address"; doc.Form.XFA[names[13]] = "Delivery City"; doc.Form.XFA[names[17]] = "+123456789"; doc.Form.XFA[names[19]] = "Mr. Will Smith"; doc.Form.XFA[names[22]] = "57251"; // Save the form doc.Save(@"C:\Files\PDF\Filled_XFA_out.pdf"); XFA-formulieren invullen met C#.
XFA-formulieren lezen met C#
We kunnen het ingevulde XFA-formulier lezen door de onderstaande stappen te volgen:
- Laad eerst een Excel-bestand met de klasse [Document][9].
- Krijg namen van de geladen [XFA][12] formuliervelden.
- Haal in een lus velddetails op met de methode [GetFieldTemplate()][13].
- Toon ten slotte veldattributen.
Het volgende codevoorbeeld laat zien hoe u het ingevulde XFA-formulier kunt lezen met C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
// This code example demonstrates how to read a filled XFA form. // Load XFA form Document doc = new Document(@"C:\Files\PDF\Filled_XFA_out.pdf"); // Get names of XFA form fields string[] names = doc.Form.XFA.FieldNames; for (int count=0; count<names.Length; count++) { // Get field details var field = doc.Form.XFA.GetFieldTemplate(names[count]); string fieldName = doc.Form.XFA.GetFieldTemplate(names[count]).InnerText; string fieldValue = doc.Form.XFA[names[count]]; if (!string.IsNullOrEmpty(fieldValue) && fieldValue != "0") { Console.WriteLine("Field Name : " + field.Attributes["name"].Value); Console.WriteLine("Field Description : " + fieldName); Console.WriteLine("Field Value : " + fieldValue); Console.WriteLine(); } } Lees het ingevulde XFA-formulier met behulp van C#.
Ontvang een gratis licentie
Probeer de API zonder evaluatiebeperkingen door [een gratis tijdelijke licentie][14] aan te vragen.
Conclusie
In dit artikel hebben we geleerd hoe u de XFA-formulieren kunt invullen zonder Adobe Writer te gebruiken. We hebben ook gezien hoe het ingevulde XFA-formulier programmatisch te lezen. Bovendien kunt u meer leren over Aspose.PDF voor .NET API met behulp van de [documentatie][15]. Neem bij onduidelijkheden gerust contact met ons op via het [forum][16].
Zie ook
- [Metadata van pdf-bestanden bewerken met C#][17]
- [Voeg kop- en voetteksten toe in PDF met C#][18] [1]: #CSharp-API-to-Read-and-Fill-XFA-Forms [2]: #Fill-XFA-Forms-using-CSharp [3]: #Read-XFA-Forms-using-CSharp [4]: https://docs.fileformat.com/pdf/ [5]: https://products.aspose.com/pdf/net/ [6]: https://docs.aspose.com/pdf/net/supported-file-formats/ [7]: https://releases.aspose.com/pdf/net// [8]: https://www.nuget.org/packages/aspose.pdf [9]: https://apireference.aspose.com/pdf/net/aspose.pdf/document [10]: https://apireference.aspose.com/pdf/net/aspose.pdf.forms/xfa [11]: https://apireference.aspose.com/pdf/net/aspose.pdf.document/save/methods/4 [12]: https://apireference.aspose.com/pdf/net/aspose.pdf.forms/form/properties/xfa [13]: https://apireference.aspose.com/pdf/net/aspose.pdf.forms/xfa/methods/getfieldtemplate [14]: https://purchase.conholdate.com/temporary-license [15]: https://docs.aspose.com/pdf/net/ [16]: https://forum.aspose.com/c/pdf/10 [17]: https://blog.conholdate.com/nl/total/edit-metadata-of-pdf-files-using-csharp/ [18]: https://blog.conholdate.com/nl/total/add-headers-and-footers-in-pdf-using-csharp/