استخراج AcroForm - استخراج بيانات النموذج من PDF في C#

الشفرة التالية تعمل أيضًا مع مكتبة Aspose.PDF.Drawing.

استخراج البيانات من النموذج

الحصول على القيم من جميع حقول مستند PDF

للحصول على القيم من جميع الحقول في مستند PDF، تحتاج إلى التنقل خلال جميع حقول النموذج ثم الحصول على القيمة باستخدام خاصية القيمة. احصل على كل حقل من مجموعة النموذج، في نوع الحقل الأساسي المسمى Field واستخدم خاصية القيمة.

الشفرات التالية بلغة C# تظهر كيفية الحصول على قيم جميع الحقول من مستند PDF.

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

// فتح المستند
Document pdfDocument = new Document(dataDir + "GetValuesFromAllFields.pdf");

// الحصول على القيم من جميع الحقول
foreach (Field formField in pdfDocument.Form)
{
    Console.WriteLine("اسم الحقل : {0} ", formField.PartialName);
    Console.WriteLine("القيمة : {0} ", formField.Value);
}

الحصول على قيمة من حقل فردي في مستند PDF

خاصية القيمة لحقل النموذج تتيح لك الحصول على قيمة حقل معين. للحصول على القيمة، احصل على حقل النموذج من مجموعة النموذج في كائن المستند. هذا مثال بلغة C# يختار TextBoxField ويسترجع قيمته باستخدام خاصية القيمة.

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

// فتح المستند
Document pdfDocument = new Document(dataDir + "GetValueFromField.pdf");

// الحصول على حقل
TextBoxField textBoxField = pdfDocument.Form["textbox1"] as TextBoxField;

// الحصول على قيمة الحقل
Console.WriteLine("PartialName : {0} ", textBoxField.PartialName);
Console.WriteLine("Value : {0} ", textBoxField.Value);

للحصول على URL زر الإرسال، استخدم الأسطر التالية من الكود.

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

// فتح المستند
Document pdfDocument = new Document(dataDir + "GetValueFromField.pdf");
SubmitFormAction act = pdfDocument.Form[1].OnActivated as SubmitFormAction;
if(act != null)
Console.WriteLine(act.Url.Name);

الحصول على حقول النموذج من منطقة محددة في ملف PDF

أحيانًا، قد تعرف أين في الوثيقة يوجد حقل النموذج، ولكن لا تملك اسمه. على سبيل المثال، إذا كان كل ما لديك هو مخطط لنموذج مطبوع. مع Aspose.PDF لـ .NET، هذه ليست مشكلة. يمكنك معرفة الحقول الموجودة في منطقة معينة من ملف PDF. للحصول على حقول النموذج من منطقة محددة في ملف PDF:

  1. افتح ملف PDF باستخدام كائن Document.
  2. احصل على النموذج من مجموعة Forms في المستند.
  3. حدد المنطقة المستطيلة وأرسلها إلى طريقة GetFieldsInRect لكائن Form. يتم إرجاع مجموعة Fields.
  4. استخدم هذا للتلاعب بالحقول.

يوضح الجزء التالي من الكود بلغة C# كيفية الحصول على حقول النموذج في منطقة مستطيلة محددة من ملف PDF.

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

// فتح ملف pdf
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "GetFieldsFromRegion.pdf");

// إنشاء كائن المستطيل للحصول على الحقول في تلك المنطقة
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(35, 30, 500, 500);

// الحصول على نموذج PDF
Aspose.Pdf.Forms.Form form = doc.Form;

// الحصول على حقول في المنطقة المستطيلة
Aspose.Pdf.Forms.Field[] fields = form.GetFieldsInRect(rectangle);

// عرض أسماء الحقول وقيمها
foreach (Field field in fields)
{
    // عرض خصائص وضع الصورة لجميع الوضعيات
    Console.Out.WriteLine("اسم الحقل: " + field.FullName + "-" + "قيمة الحقل: " + field.Value);
}