
Firma Adobe wprowadziła interaktywne i dynamiczne formularze zwane formularzami XFA. XFA oznacza architekturę formularzy XML. Formularz XFA przypomina plik HTML. Zawiera pola do wypełnienia i określa układ lub wygląd jako formularz osadzony w dokumentach PDF. W tym artykule dowiemy się, jak wypełniać i czytać formularze XFA przy użyciu języka C#.
W tym artykule zostaną omówione następujące tematy:
- API C# do odczytywania i wypełniania formularzy XFA
- Wypełniaj formularze XFA przy użyciu języka C#
- Czytaj formularze XFA za pomocą C#
API C# do odczytywania i wypełniania formularzy XFA
Do pracy z formularzami XFA PDF będziemy używać Aspose.PDF for .NET API. Pozwala nam generować, modyfikować, konwertować, renderować, zabezpieczać i drukować obsługiwane dokumenty bez użycia programu Adobe Acrobat. Proszę pobierz bibliotekę DLL interfejsu API lub zainstaluj ją za pomocą NuGet.
PM> Install-Package Aspose.Pdf
Wypełniaj formularze XFA przy użyciu języka C#
Formularze XFA możemy wypełnić programowo, wykonując poniższe czynności:
- Najpierw załaduj plik formularza XFA przy użyciu klasy Document.
- Uzyskaj nazwy załadowanych pól formularza XFA.
- Ustaw wartości pól.
- Na koniec wywołaj metodę Save(). Jako argument przyjmuje ścieżkę pliku wyjściowego.
Poniższy przykładowy kod pokazuje, jak wypełnić formularz XFA przy użyciu języka C#.
// Ten przykład kodu demonstruje, jak wypełnić formularz XFA.
// Załaduj formularz XFA
Document doc = new Document(@"C:\Files\PDF\FillXFAFields.pdf");
// Uzyskaj nazwy pól formularza XFA
string[] names = doc.Form.XFA.FieldNames;
// Ustaw wartości pól
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";
// Zapisz formularz
doc.Save(@"C:\Files\PDF\Filled_XFA_out.pdf");

Wypełniaj formularze XFA przy użyciu języka C#.
Czytaj formularze XFA za pomocą C#
Wypełniony formularz XFA możemy odczytać, wykonując poniższe czynności:
- Najpierw załaduj plik Excel przy użyciu klasy Document.
- Uzyskaj nazwy załadowanych pól formularza XFA.
- W pętli pobierz szczegóły pola za pomocą metody GetFieldTemplate().
- Na koniec pokaż atrybuty pola.
Poniższy przykładowy kod pokazuje, jak odczytać wypełniony formularz XFA przy użyciu języka C#.
// Ten przykład kodu demonstruje, jak odczytać wypełniony formularz XFA.
// Załaduj formularz XFA
Document doc = new Document(@"C:\Files\PDF\Filled_XFA_out.pdf");
// Uzyskaj nazwy pól formularza XFA
string[] names = doc.Form.XFA.FieldNames;
for (int count=0; count<names.Length; count++)
{
// Uzyskaj szczegóły pola
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();
}
}

Przeczytaj wypełniony formularz XFA, używając języka C#.
Zdobądź bezpłatną licencję
Wypróbuj interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule dowiedzieliśmy się, jak wypełniać formularze XFA bez użycia programu Adobe Writer. Widzieliśmy także, jak programowo czytać wypełniony formularz XFA. Poza tym możesz dowiedzieć się więcej o Aspose.PDF for .NET API, korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.