Wypełniaj i czytaj formularze XFA przy użyciu języka C#

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

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:

  1. Najpierw załaduj plik formularza XFA przy użyciu klasy Document.
  2. Uzyskaj nazwy załadowanych pól formularza XFA.
  3. Ustaw wartości pól.
  4. 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#.

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:

  1. Najpierw załaduj plik Excel przy użyciu klasy Document.
  2. Uzyskaj nazwy załadowanych pól formularza XFA.
  3. W pętli pobierz szczegóły pola za pomocą metody GetFieldTemplate().
  4. 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#.

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.

Zobacz też