استخراج البيانات من ملف pdf الممسوح ضوئيًا أو تجريف ملف pdf باستخدام مستخرج صفحات pdf عبر الإنترنت.

كيفية استخراج البيانات من PDF باستخدام Python

قد تحتاج إلى استخراج البيانات من مستندات PDF أو Word باستخدام قالب محدد من قبل المستخدم. يمكنك تحليل أي مستند واستخراج الحقول وبيانات الجدول برمجيًا على السحابة. تشرح هذه المقالة كيفية استخراج بيانات محددة من مستندات PDF باستخدام واجهة برمجة تطبيقات REST في Python.

سيتم تناول الموضوعات التالية في هذه المقالة:

محلل المستندات REST API و Python SDK

لتحليل مستند PDF واستخراج البيانات بناءً على قالب ، سأستخدم Python SDK of GroupDocs.Parser Cloud API. يسمح لك بتحليل البيانات من جميع أنواع المستندات الشائعة مثل مستندات PDF ومستندات Microsoft Office وتنسيقات ملفات OpenDocument. يمكنك استخراج النص والصور وتحليل البيانات بواسطة قالب باستخدام SDK. كما أنها توفر حزم SDK لـ .NET و Java و PHP و Ruby و Node.js باعتبارها أعضاء عائلة محلل المستندات لواجهة برمجة التطبيقات السحابية.

يمكنك تثبيت GroupDocs.Parser Cloud على مشروع Python الخاص بك باستخدام pip (package installer for python) باستخدام الأمر التالي في وحدة التحكم لاستخراج المعلومات من ملف pdf:

pip install groupdocs_parser_cloud

يرجى الحصول على معرّف العميل وسر العميل من لوحة القيادة وإضافة الرمز كما هو موضح أدناه:

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

configuration = groupdocs_parser_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

استخراج البيانات عن طريق كائن القالب باستخدام Python

يمكنك استخراج البيانات من مستندات PDF باستخدام قالب باتباع الخطوات البسيطة المذكورة أدناه:

قم بتحميل المستند

بادئ ذي بدء ، قم بتحميل مستند PDF إلى السحابة باستخدام مثال الرمز الوارد أدناه:

# إنشاء مثيل من API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)

# تحميل ملفات عينة
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)

نتيجة لذلك ، سيكون ملف PDF الذي تم تحميله متاحًا في قسم الملفات من لوحة التحكم الخاصة بك على السحابة.

استخراج البيانات على أساس القوالب باستخدام Python

يرجى اتباع الخطوات المذكورة أدناه لاستخراج البيانات من ملف PDF بناءً على النموذج برمجيًا.

  1. قم بإنشاء مثيل لـ ParseApi
  2. حدد ParseOptions واضبط المسار إلى ملف PDF
  3. إنشاء قالب ككائن
  4. إنشاء ParseRequest
  5. احصل على النتائج عن طريق استدعاء طريقة ParseApi.parse()

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج البيانات وفقًا للقالب المحدد من مستند PDF باستخدام واجهة برمجة تطبيقات REST.

# تهيئة API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# تحديد خيارات التحليل
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"

# الحصول على كائن قالب
options.template = GetTemplate()  

# طلب تحليل
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# أظهر النتائج
for data in result.fields_data:
    if data.page_area.page_text_area is not None:
        print("Field name: " + data.name + ". Text :" + data.page_area.page_text_area.text)

    if data.page_area.page_table_area is not None:
        print("Table name: " + data.name)
       for cell in data.page_area.page_table_area.page_table_area_cells:
            print("Table cell. Row " + str(cell.row_index) + " column " + str(cell.column_index) + ". Text: " + cell.page_area.page_text_area.text);

يرجى الاطلاع أدناه على القالب الذي تم إنشاؤه وفقًا لوثيقة PDF.

def GetTemplate():
        field1 = groupdocs_parser_cloud.Field()
        field1.field_name = "Address"
        fieldPosition1 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition1.field_position_type = "Regex"
        fieldPosition1.regex = "Company address:"
        field1.field_position = fieldPosition1

        field2 = groupdocs_parser_cloud.Field()
        field2.field_name = "CompanyAddress"
        fieldPosition2 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition2.field_position_type = "Linked"
        fieldPosition2.linked_field_name = "ADDRESS"
        fieldPosition2.is_right_linked = True
        size2 = groupdocs_parser_cloud.Size()
        size2.width = 100
        size2.height = 10
        fieldPosition2.search_area = size2
        fieldPosition2.auto_scale = True
        field2.field_position = fieldPosition2
        
        field3 = groupdocs_parser_cloud.Field()
        field3.field_name = "Company"
        fieldPosition3 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition3.field_position_type = "Regex"
        fieldPosition3.regex = "Company name:"
        field3.field_position = fieldPosition3
        
        field4 = groupdocs_parser_cloud.Field()
        field4.field_name = "CompanyName"
        fieldPosition4 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition4.field_position_type = "Linked"
        fieldPosition4.linked_field_name = "Company"
        fieldPosition4.is_right_linked = True
        size4 = groupdocs_parser_cloud.Size()
        size4.width = 100
        size4.height = 10
        fieldPosition4.search_area = size4
        fieldPosition4.auto_scale = True
        field4.field_position = fieldPosition4
        
        table = groupdocs_parser_cloud.Table()
        table.table_name = "Companies"
        detectorparams = groupdocs_parser_cloud.DetectorParameters()
        rect = groupdocs_parser_cloud.Rectangle()
        size = groupdocs_parser_cloud.Size()
        size.height = 60
        size.width = 480
        position = groupdocs_parser_cloud.Point()
        position.x = 77
        position.y = 279
        rect.size = size
        rect.position = position
        detectorparams.rectangle = rect
        table.detector_parameters = detectorparams
        
        fields = [field1, field2, field3, field4]
        tables = [table]
        
        template = groupdocs_parser_cloud.Template()
        template.fields = fields
        template.tables = tables
        return template
البيانات المستخرجة عن طريق تحليل مستند باستخدام القالب

البيانات المستخرجة عن طريق تحليل مستند باستخدام القالب

استخراج البيانات عن طريق ملف القالب باستخدام Python

يمكنك أيضًا استخراج البيانات من مستند PDF عن طريق توفير ملف قالب يستند إلى JSON برمجيًا. يرجى اتباع الخطوات المذكورة أدناه لتحليل المستند من خلال توفير ملف قالب.

  1. قم بإنشاء مثيل لـ ParseApi
  2. تحديد خيارات التحليل
  3. عيّن المسار إلى ملف PDF
  4. عيّن المسار إلى ملف القالب
  5. إنشاء ParseRequest
  6. احصل على النتائج عن طريق استدعاء طريقة ParseApi.parse()

يوضح نموذج التعليمات البرمجية التالي كيفية تحليل مستند PDF واستخراج البيانات وفقًا للقالب المتوفر في ملف JSON باستخدام واجهة برمجة تطبيقات REST. يرجى اتباع الخطوات المذكورة سابقاً لتحميل الملفات.

# تهيئة API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# تحديد خيارات التحليل
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"

# طلب تحليل
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# أظهر النتائج
for data in result.fields_data:
    if data.page_area.page_text_area is not None:
        print("Field name: " + data.name + ". Text :" + data.page_area.page_text_area.text)

    if data.page_area.page_table_area is not None:
        print("Table name: " + data.name)
       for cell in data.page_area.page_table_area.page_table_area_cells:
            print("Table cell. Row " + str(cell.row_index) + " column " + str(cell.column_index) + ". Text: " + cell.page_area.page_text_area.text);

يرجى الاطلاع أدناه على القالب بتنسيق JSON.

{
  "Fields": [
    {
      "FieldName": "Address",
      "FieldPosition": {
        "FieldPositionType": "Regex",
        "Regex": "Companyaddress:"
      }
    },
    {
      "FieldName": "CompanyAddress",
      "FieldPosition": {
        "FieldPositionType": "Linked",
        "LinkedFieldName": "ADDRESS",
        "IsRightLinked": true,
        "SearchArea": {
          "Height": 10.0,
          "Width": 100.0
        },
        "AutoScale": true
      }
    },
    {
      "FieldName": "Company",
      "FieldPosition": {
        "FieldPositionType": "Regex",
        "Regex": "Companyname:"
      }
    },
    {
      "FieldName": "CompanyName",
      "FieldPosition": {
        "FieldPositionType": "Linked",
        "LinkedFieldName": "Company",
        "IsRightLinked": true,
        "SearchArea": {
          "Height": 10.0,
          "Width": 100.0
        },
        "AutoScale": true
      }
    }
  ],
  "Tables": [
    {
      "TableName": "Companies",
      "DetectorParameters": {
        "Rectangle": {
          "Position": {
            "X": 77.0,
            "Y": 279.0
          },
          "Size": {
            "Height": 41.0,
            "Width": 480.0
          }
        }
      }
    }
  ]
}

قم باستخراج ملف PDF عبر الإنترنت

كيفية استخدام PDF Extractor على الإنترنت مجانًا؟ يرجى تجربة أداة تحليل PDF المجانية التالية على الإنترنت ومستخرج صفحات pdf المجاني. تم تطوير أداة استخراج pdf عبر الإنترنت واستخراج أداة pdf المجانية عبر الإنترنت باستخدام واجهة برمجة التطبيقات المذكورة أعلاه. https://products.groupdocs.app/parser/pdf

خاتمة

في هذه المقالة ، تعلمت كيفية استخراج بيانات محددة من مستندات PDF وفقًا للقالب المتوفر على السحابة. لقد تعلمت أيضًا كيفية إنشاء كائن قالب وتقديم نموذج بتنسيق JSON. توضح هذه المقالة أيضًا كيفية تحميل ملف PDF برمجيًا على السحابة لاستخراج بيانات pdf عبر الإنترنت. يمكنك معرفة المزيد حول GroupDocs.Parser Cloud API باستخدام التوثيق. نوفر أيضًا قسم مرجع واجهة برمجة التطبيقات الذي يتيح لك تصور واجهات برمجة التطبيقات الخاصة بنا والتفاعل معها مباشرةً من خلال المتصفح.

طرح سؤال

إذا كانت لديك أي استفسارات حول استخراج البيانات من استخراج بيانات pdf و pdf عبر الإنترنت ، فلا تتردد في سؤالنا على منتدى الدعم المجاني

أنظر أيضا