استخراج البيانات من AcroForm باستخدام Python
استخراج حقول النموذج من وثيقة PDF
نموذج من aspose.pdf.facades توفر مساحة الاسم طريقة مباشرة لقراءة بيانات حقل AcroForm دون فتح نموذج كائن المستند الكامل. قم بتكرار الغطاء form.field_names للحصول على اسم كل حقل موجود في النموذج، ثم اتصل form.get_field(name) لاسترداد قيمتها الحالية.
- قم بإنشاء
Formالكائن عن طريق تمرير مسار ملف الإدخال. - قم بتكرار الغطاء
form.field_namesلتعداد جميع أسماء الحقول. - اتصل
form.get_field(name)لكل اسم وتخزين النتيجة في قاموس.
import aspose.pdf as apdf
from io import FileIO
from os import path
import json
from aspose.pycore import cast, is_assignable
path_infile = self.dataDir + infile
form = apdf.facades.Form(path_infile)
form_values = {}
# Get values from all fields
for formField in form.field_names:
# Analyze names and values if needed
form_values[formField] = form.get_field(formField)
print(form_values)
استرداد قيمة حقل النموذج حسب العنوان
عندما تعرف اسم الحقل الدقيق (العنوان) المحدد في نموذج PDF، يمكنك استرداد قيمته مباشرة باستخدام form.get_field(name) دون التكرار على المجموعة الميدانية بأكملها. هذا هو الأسلوب الأسرع عندما تكون هناك حاجة إلى حقول محددة فقط.
- قم بإنشاء نموذج كائن بمسار ملف الإدخال.
- اتصل
form.get_field("FieldName")باستخدام عنوان الحقل الدقيق كما يظهر في PDF. - استخدم قيمة السلسلة التي تم إرجاعها حسب الحاجة في التطبيق الخاص بك.
import aspose.pdf as apdf
form = apdf.facades.Form(path_infile)
# Retrieve a single field value by its name
value = form.get_field("FirstName")
print(value)
استخراج حقول النموذج من مستند PDF إلى JSON
هناك طريقتان لتصدير بيانات AcroForm إلى JSON. الأول يستخدم المدمج export_json تم تشغيل الطريقة نموذج، والذي يقوم بتسلسل جميع البيانات الميدانية مباشرة إلى دفق الملفات في مكالمة واحدة.
- قم بإنشاء
Formكائن بمسار ملف الإدخال. - افتح ملف الإخراج كتدفق ثنائي باستخدام
FileIO. - اتصل
form.export_json(stream, True)لكتابة إخراج JSON.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
form = apdf.facades.Form(path_infile)
with FileIO(path_outfile, "w") as json_file:
form.export_json(json_file, True)
الطريقة الثانية تبني قاموس Python من field_names و get_field، ثم يقوم بتسلسلها باستخدام json.dumps. استخدم هذا عندما تحتاج إلى تحويل البيانات أو تصفيتها قبل كتابتها.
- قم بتكرار الغطاء
form.field_namesوقم بتعبئة القاموس بقيم الحقول. - قم بتسلسل القاموس باستخدام
json.dumps(form_data, indent=4). - اكتب سلسلة JSON الناتجة إلى ملف الإخراج.
import aspose.pdf as apdf
from os import path
import json
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
form = apdf.facades.Form(path_infile)
form_data = {}
# Get values from all fields
for formField in form.field_names:
form_data[formField] = form.get_field(formField)
# Serialize to JSON
json_string = json.dumps(form_data, indent=4)
print(json_string)
with open(path_outfile, "w", encoding="utf-8") as json_file:
json_file.write(json_string)
استخراج البيانات إلى XML من ملف PDF
تصدير XML مفيد لدمج بيانات نموذج PDF مع الأنظمة التي تستهلك خلاصات XML المهيكلة أو المخططات. ال نموذج يوفر الفصل export_xml للتعامل مع التحويل في خطوة واحدة.
- قم بإنشاء
Formالمثيل وربط ملف PDF بـform.bind_pdf(path). - افتح ملف الإخراج كتدفق ثنائي.
- اتصل
form.export_xml(stream)لكتابة جميع البيانات الميدانية بصيغة XML.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export data to XML file
with FileIO(path_outfile, "w") as f:
form.export_xml(f)
تصدير البيانات إلى FDF من ملف PDF
FDF (تنسيق بيانات النماذج) هو تنسيق التبادل القياسي لبيانات AcroForm وهو مدعوم على نطاق واسع من قبل برامج عرض PDF وأدوات المعالجة. استخدم export_fdf على نموذج فئة لإنتاج ملف FDF مستقل يمكن استيراده مرة أخرى إلى PDF الأصلي أو أي نموذج متوافق آخر.
- قم بإنشاء
Formالمثيل وربط ملف PDF المصدر بـform.bind_pdf(path). - افتح ملف الإخراج كتدفق ثنائي.
- اتصل
form.export_fdf(stream)لكتابة بيانات FDF.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export form data to an FDF file
with FileIO(path_outfile, "w") as f:
form.export_fdf(f)
تصدير البيانات إلى XFDF من ملف PDF
XFDF (تنسيق بيانات نماذج XML) هو خليفة FDF المستند إلى XML وهو أكثر ملاءمة للاستخدام في خدمات الويب وخطوط أنابيب البيانات الحديثة. مثل FDF، يمكن استيراد ملف XFDF مرة أخرى إلى نموذج PDF متوافق. استخدم export_xfdf على نموذج فئة لتوليد الإخراج.
- قم بإنشاء
Formالمثيل وربط ملف PDF المصدر بـform.bind_pdf(path). - افتح ملف الإخراج كتدفق ثنائي.
- اتصل
form.export_xfdf(stream)لكتابة بيانات XFDF.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export form data to an XFDF file
with FileIO(path_outfile, "w") as f:
form.export_xfdf(f)