پر کردن و خواندن فرم‌های XFA با استفاده از C#

Adobe یک فرم تعاملی و دینامیک به نام فرم های XFA را معرفی کرد. XFA مخفف معماری فرم های XML است. فرم XFA مشابه یک فایل HTML است. این فرم شامل فیلدهای قابل پر کردن است و طرح یا ظاهر آن را به عنوان فرمی که در داخل اسناد PDF جاسازی شده است، تعیین می کند. در این مقاله، یاد خواهیم گرفت که چگونه فرم های XFA را با استفاده از C# پر کرده و بخوانیم.

موارد زیر در این مقاله مورد بررسی قرار خواهند گرفت:

C# API برای خواندن و پرکردن فرم‌های XFA

برای کار با فرم‌های XFA PDF، ما از API Aspose.PDF for .NET استفاده خواهیم کرد. این API به ما امکان می‌دهد تا اسناد پشتیبانی‌شده را بدون استفاده از Adobe Acrobat تولید، ویرایش، تبدیل، رندر، امنیت و چاپ کنیم. لطفاً یا DLL API را دانلود کنید یا آن را با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.Pdf

پر کردن فرم‌های XFA با استفاده از C#

ما می‌توانیم فرم‌های XFA را به صورت برنامه‌نویسی با دنبال کردن مراحل زیر پر کنیم:

  1. در ابتدا، یک فایل فرم XFA را با استفاده از کلاس Document بارگذاری کنید.
  2. نام فیلدهای فرم XFA بارگذاری شده را دریافت کنید.
  3. مقادیر فیلد را تنظیم کنید.
  4. در نهایت، متد Save() را فراخوانی کنید. این متد مسیر فایل خروجی را به عنوان آرگومان می‌گیرد.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان یک فرم XFA را با استفاده از C# پر کرد.

// این مثال کد نشان می‌دهد که چگونه یک فرم XFA را پر کنیم.
// Load XFA form
Document doc = new Document(@"C:\Files\PDF\FillXFAFields.pdf");

// Get names of XFA form fields
string[] names = doc.Form.XFA.FieldNames;

// مقداردهی به فیلد ها
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";

// فرم را ذخیره کنید
doc.Save(@"C:\Files\PDF\Filled_XFA_out.pdf");
فرم‌های XFA را با استفاده از C# پر کنید.

پر کردن فرم‌های XFA با استفاده از C# .

خواندن فرم‌های XFA با استفاده از C#

ما می‌توانیم فرم XFA پر شده را با دنبال کردن مراحل زیر بخوانیم:

  1. Firstly, load an Excel file using the Document class.
  2. نام‌های فیلدهای فرم XFA بارگذاری شده را دریافت کنید.
  3. در یک حلقه، جزئیات فیلد را با استفاده از روش GetFieldTemplate() دریافت کنید.
  4. سرانجام، ویژگی‌های فیلد را نشان دهید.

نمونه کد زیر نشان می‌دهد که چگونه فرم XFA پرشده را با استفاده از C# بخوانیم.

// این مثال کد نشان می‌دهد که چگونه یک فرم پر شده XFA را بخوانید.
// فورم XFA را بارگذاری کنید
Document doc = new Document(@"C:\Files\PDF\Filled_XFA_out.pdf");

// نام فیلدهای فرم XFA را بگیرید
string[] names = doc.Form.XFA.FieldNames;

for (int count=0; count<names.Length; count++)
{
    // جزئیات میدان را دریافت کنید
    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();
    }
}
فرم پر شده XFA را با استفاده از C# بخوانید.

فرم XFA پر شده را با استفاده از C# بخوانید.

مجوز رایگان بگیرید

لطفاً سعی کنید API را بدون محدودیت های ارزیابی با درخواست یک مجوز موقت رایگان آزمایش کنید.

نتیجه گیری

در این مقاله، ما آموخته‌ایم که چگونه فرم‌های XFA را بدون استفاده از نویسنده Adobe پر کنیم. همچنین دیده‌ایم که چگونه می‌توان فرم پر شده XFA را به‌طور برنامه‌نویسی خواند. علاوه بر این، می‌توانید با استفاده از documentation بیشتر درباره Aspose.PDF برای API .NET بیاموزید. در صورت وجود هرگونه ابهام، لطفاً با کمال میل با ما در forum تماس بگیرید.

See Also