استخراج داده ها از پی دی اف اسکن شده یا خراش دادن پی دی اف با استفاده از استخراج کننده صفحه پی دی اف به صورت آنلاین.

نحوه استخراج داده ها از PDF با استفاده از پایتون

ممکن است لازم باشد داده ها را از اسناد PDF یا Word خود با استفاده از یک الگوی تعریف شده توسط کاربر استخراج کنید. می‌توانید هر سندی را تجزیه کنید و فیلدها و داده‌های جدول را به صورت برنامه‌نویسی در فضای ابری استخراج کنید. این مقاله نحوه استخراج داده های خاص از اسناد PDF را با استفاده از REST API در پایتون توضیح می دهد.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

Document Parser REST API و Python SDK

برای تجزیه یک سند PDF و استخراج داده ها بر اساس یک الگو، از Python SDK of GroupDocs.Parser Cloud API استفاده خواهم کرد. این به شما امکان می دهد داده ها را از انواع اسناد محبوب مانند اسناد PDF، اسناد Microsoft Office و فرمت های فایل OpenDocument تجزیه کنید. با استفاده از SDK می توانید متن، تصاویر و داده ها را توسط یک الگو استخراج کنید. همچنین SDK های .NET، جاوا، PHP، Ruby و Node.js را به عنوان [اعضای خانواده تجزیه کننده اسناد3 برای Cloud API ارائه می کند.

می توانید GroupDocs.Parser Cloud را در پروژه پایتون خود با پیپ (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 = ""

استخراج داده ها توسط شی الگو با استفاده از پایتون

با دنبال کردن مراحل ساده ذکر شده در زیر می توانید داده ها را از اسناد PDF با استفاده از یک الگو استخراج کنید:

سند را آپلود کنید

اول از همه، سند PDF را با استفاده از مثال کد زیر در Cloud آپلود کنید:

# نمونه ای از 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 آپلود شده در بخش فایل ها داشبورد شما در فضای ابری در دسترس خواهد بود.

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

لطفاً مراحل ذکر شده در زیر را دنبال کنید تا داده ها را از فایل PDF بر اساس الگو به صورت برنامه ریزی شده استخراج کنید.

  1. یک نمونه از ParseApi ایجاد کنید
  2. ParseOptions را تعریف کرده و مسیر فایل PDF را تعیین کنید
  3. الگو را به عنوان یک شی ایجاد کنید
  4. ParseRequest را ایجاد کنید
  5. با فراخوانی متد ParseApi.parse() به نتیجه برسید

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

# مقداردهی اولیه 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
استخراج داده با تجزیه یک سند با استفاده از الگو

استخراج داده با تجزیه یک سند با استفاده از الگو

استخراج داده ها توسط فایل الگو با استفاده از پایتون

همچنین می توانید با ارائه یک فایل قالب مبتنی بر JSON به صورت برنامه ریزی شده، داده ها را از سند PDF استخراج کنید. لطفاً مراحل ذکر شده در زیر را برای تجزیه سند با ارائه یک فایل الگو دنبال کنید.

  1. یک نمونه از ParseApi ایجاد کنید
  2. ParseOptions را تعریف کنید
  3. مسیر فایل PDF را تنظیم کنید
  4. مسیر فایل قالب را تنظیم کنید
  5. ParseRequest را ایجاد کنید
  6. با فراخوانی متد ParseApi.parse() به نتیجه برسید

نمونه کد زیر نحوه تجزیه یک سند PDF و استخراج داده ها را با توجه به الگوی ارائه شده در فایل JSON با استفاده از REST API نشان می دهد. لطفاً برای آپلود فایل ها مراحل ذکر شده قبلی را دنبال کنید.

# مقداردهی اولیه 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 بصورت آنلاین رایگان استفاده کنیم؟ لطفا ابزار تجزیه و تحلیل PDF رایگان آنلاین زیر و استخراج کننده صفحه pdf رایگان را امتحان کنید. این ابزار آنلاین رایگان استخراج و استخراج pdf آنلاین با استفاده از API فوق توسعه یافته است. https://products.groupdocs.app/parser/pdf

نتیجه

در این مقاله با نحوه استخراج داده های خاص از اسناد PDF مطابق با قالب ارائه شده در فضای ابری آشنا شده اید. شما همچنین یاد گرفتید که چگونه یک شی الگو ایجاد کنید و یک الگو را با فرمت JSON ارائه دهید. این مقاله همچنین نحوه آپلود برنامه‌ای یک فایل PDF را در فضای ابری برای استخراج داده‌های pdf به صورت آنلاین توضیح داد. می توانید با استفاده از مستندات درباره GroupDocs.Parser Cloud API بیشتر بیاموزید. ما همچنین یک بخش API Reference ارائه می‌کنیم که به شما امکان می‌دهد APIهای ما را مستقیماً از طریق مرورگر تجسم کرده و با آن‌ها تعامل داشته باشید.

یه سوال بپرس

اگر سؤالی در مورد استخراج داده‌ها از استخراج آنلاین داده‌های pdf و pdf دارید، لطفاً از ما در [تالار گفتمان پشتیبانی رایگان] بپرسید (https://forum.groupdocs.cloud/c/merger/18)

همچنین ببینید