C# kullanarak XFA Formlarını Doldurun ve Okuyun

Adobe, XFA formları adı verilen etkileşimli ve dinamik bir Form’u kullanıma sundu. XFA, XML Form Mimarisi anlamına gelir. XFA formu bir HTML dosyasına benzer. Doldurulabilir alanlar içerir ve PDF belgelerinin içine gömülü bir form olarak düzeni veya görünümü belirler. Bu yazıda C# kullanarak XFA formlarının nasıl doldurulacağını ve okunacağını öğreneceğiz.

Bu makalede aşağıdaki konular ele alınacaktır:

XFA Formlarını Okumak ve Doldurmak için C# API’si

XFA PDF formlarıyla çalışmak için Aspose.PDF for .NET API’sini kullanacağız. Adobe Acrobat kullanmadan desteklenen belgeleri oluşturmamıza, değiştirmemize, dönüştürmemize, işlememize, güvenliğini sağlamamıza ve yazdırmamıza olanak tanır. Lütfen API’nin DLL dosyasını indirin veya NuGet kullanarak yükleyin.

PM> Install-Package Aspose.Pdf

C# kullanarak XFA Formlarını doldurma

XFA formlarını aşağıdaki adımları izleyerek programlı olarak doldurabiliriz:

  1. Öncelikle Document sınıfını kullanarak bir XFA form dosyası yükleyin.
  2. Yüklenen XFA form alanlarının adlarını alın.
  3. Alan değerlerini ayarlayın.
  4. Son olarak Save() yöntemini çağırın. Çıktı dosyasının yolunu argüman olarak alır.

Aşağıdaki kod örneği, C# kullanarak bir XFA formunun nasıl doldurulacağını gösterir.

// Bu kod örneği, bir XFA formunun nasıl doldurulacağını gösterir.
// XFA formunu yükle
Document doc = new Document(@"C:\Files\PDF\FillXFAFields.pdf");

// XFA form alanlarının adlarını alın
string[] names = doc.Form.XFA.FieldNames;

// Alan değerlerini ayarlayın
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";

// Formu kaydet
doc.Save(@"C:\Files\PDF\Filled_XFA_out.pdf");
XFA Formlarını C# kullanarak doldurun.

XFA Formlarını C# kullanarak doldurun.

C# kullanarak XFA Formlarını okuyun

Doldurulmuş XFA formunu aşağıdaki adımları takip ederek okuyabiliriz:

  1. Öncelikle Document sınıfını kullanarak bir Excel dosyası yükleyin.
  2. Yüklenen XFA form alanlarının adlarını alın.
  3. Bir döngüde, GetFieldTemplate() yöntemini kullanarak alan ayrıntılarını alın.
  4. Son olarak alan niteliklerini gösterin.

Aşağıdaki kod örneği, doldurulmuş XFA formunun C# kullanılarak nasıl okunacağını gösterir.

// Bu kod örneği, doldurulmuş bir XFA formunun nasıl okunacağını gösterir.
// XFA formunu yükle
Document doc = new Document(@"C:\Files\PDF\Filled_XFA_out.pdf");

// XFA form alanlarının adlarını alın
string[] names = doc.Form.XFA.FieldNames;

for (int count=0; count<names.Length; count++)
{
    // Alan ayrıntılarını alın
    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();
    }
}
C# kullanarak doldurulmuş XFA formunu okuyun.

C# kullanarak doldurulmuş XFA formunu okuyun.

Ücretsiz Lisans Alın

Lütfen ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmadan deneyin.

Çözüm

Bu yazımızda Adobewriter kullanmadan XFA formlarının nasıl doldurulacağını öğrendik. Ayrıca doldurulmuş XFA formunun programlı olarak nasıl okunacağını da gördük. Ayrıca, belgeleri kullanarak Aspose.PDF for .NET API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda lütfen forum üzerinden bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız