ممکن است لازم باشد داده ها را از اسناد PDF یا Word خود با استفاده از یک الگوی تعریف شده توسط کاربر استخراج کنید. میتوانید هر سندی را تجزیه کنید و فیلدها و دادههای جدول را به صورت برنامهنویسی در فضای ابری استخراج کنید. این مقاله نحوه استخراج داده های خاص از اسناد PDF را با استفاده از REST API در پایتون توضیح می دهد.
موضوعات زیر در این مقاله پوشش داده خواهد شد:
- Document Parser REST API و Python SDK
- استخراج داده ها توسط شی الگو با استفاده از پایتون
- استخراج داده ها توسط فایل الگو با استفاده از پایتون
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
- استخراج دادههای مبتنی بر الگو با استفاده از پایتون
سند را آپلود کنید
اول از همه، سند 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 بر اساس الگو به صورت برنامه ریزی شده استخراج کنید.
- یک نمونه از ParseApi ایجاد کنید
- ParseOptions را تعریف کرده و مسیر فایل PDF را تعیین کنید
- الگو را به عنوان یک شی ایجاد کنید
- ParseRequest را ایجاد کنید
- با فراخوانی متد 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 استخراج کنید. لطفاً مراحل ذکر شده در زیر را برای تجزیه سند با ارائه یک فایل الگو دنبال کنید.
- یک نمونه از ParseApi ایجاد کنید
- ParseOptions را تعریف کنید
- مسیر فایل PDF را تنظیم کنید
- مسیر فایل قالب را تنظیم کنید
- ParseRequest را ایجاد کنید
- با فراخوانی متد 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)