العمل مع نماذج XFA

توفر فئة النموذج القدرة على التعامل مع AcroForm الثابت ويمكنك الحصول على نموذج حقل معين باستخدام طريقة GetFieldFacade(..) لفئة النموذج. ومع ذلك، لا يمكن الوصول إلى حقول XFA عبر طريقة Form.GetFieldFacade(..). بدلاً من ذلك، استخدم Document.Form.XFA للحصول على/تعيين قيم الحقل ومعالجة قالب حقل XFA (تعيين خصائص الحقل).

يعمل أيضًا الجزء التالي من الكود مع مكتبة Aspose.PDF.Drawing.

ملء حقول XFA

يوضح لك جزء الكود التالي كيفية ملء الحقول في نموذج XFA. يوضح الجزء التالي من الشفرة كيفية ملء الحقول في نموذج XFA.

// لأمثلة كاملة وملفات بيانات، يرجى زيارة https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// مسار دليل الوثائق.
string dataDir = RunExamples.GetDataDir_AsposePdf_Forms();

// تحميل نموذج XFA
Document doc = new Document(dataDir + "FillXFAFields.pdf");

// الحصول على أسماء حقول نموذج XFA
string[] names = doc.Form.XFA.FieldNames;

// تعيين قيم الحقول
doc.Form.XFA[names[0]] = "Field 0";
doc.Form.XFA[names[1]] = "Field 1";
dataDir = dataDir + "Filled_XFA_out.pdf";
// حفظ الوثيقة المحدثة
doc.Save(dataDir);

تحويل XFA إلى Acroform

النماذج الديناميكية تعتمد على مواصفات XML المعروفة باسم XFA، “الهندسة المعمارية للنماذج XML”. النماذج الديناميكية مبنية على مواصفات XML تعرف بـ XFA، أو “هندسة نماذج XML”.

حاليًا، يدعم PDF طريقتين مختلفتين لدمج البيانات ونماذج PDF:

  • AcroForms (المعروفة أيضًا باسم نماذج Acrobat)، تم تقديمها وتضمينها في مواصفات تنسيق PDF 1.2.
  • نماذج هندسة نماذج XML من Adobe (XFA)، تم تقديمها في مواصفات تنسيق PDF 1.5 كميزة اختيارية (مواصفات XFA غير مدرجة في مواصفات PDF، فهي مشار إليها فقط.)

لا يمكننا استخراج أو التلاعب بصفحات نماذج XFA، لأن محتوى النموذج يتم توليده في وقت التشغيل (أثناء عرض نموذج XFA) داخل التطبيق الذي يحاول عرض أو تقديم نموذج XFA. يحتوي Aspose.PDF على ميزة تتيح للمطورين تحويل نماذج XFA إلى AcroForms قياسية.

// لأمثلة كاملة وملفات بيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// المسار إلى دليل الوثائق.
string dataDir = RunExamples.GetDataDir_AsposePdf_Forms();

// تحميل نموذج XFA الديناميكي
Document document = new Document(dataDir + "DynamicXFAToAcroForm.pdf");

// تعيين نوع حقول النموذج كـ AcroForm قياسي
document.Form.Type = FormType.Standard;

dataDir = dataDir + "Standard_AcroForm_out.pdf";
// حفظ PDF الناتج
document.Save(dataDir);

الحصول على خصائص حقل XFA

للوصول إلى خصائص الحقل، استخدم أولاً Document.Form.XFA.Teamplate للوصول إلى قالب الحقل. يوضح مقتطف الكود التالي خطوات الحصول على إحداثيات X و Y لحقل نموذج XFA.

// للأمثلة الكاملة وملفات البيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// مسار إلى دليل الوثائق.
string dataDir = RunExamples.GetDataDir_AsposePdf_Forms();

// تحميل نموذج XFA
Document doc = new Document(dataDir + "GetXFAProperties.pdf");

string[] names = doc.Form.XFA.FieldNames;

// تعيين قيم الحقول
doc.Form.XFA[names[0]] = "Field 0";
doc.Form.XFA[names[1]] = "Field 1";

// الحصول على موضع الحقل
Console.WriteLine(doc.Form.XFA.GetFieldTemplate(names[0]).Attributes["x"].Value);

// الحصول على موضع الحقل
Console.WriteLine(doc.Form.XFA.GetFieldTemplate(names[0]).Attributes["y"].Value);

dataDir = dataDir + "Filled_XFA_out.pdf";
// حفظ الوثيقة المحدثة
doc.Save(dataDir);