Bạn có thể cần trích xuất dữ liệu từ tài liệu PDF hoặc Word của mình bằng mẫu do người dùng xác định. Bạn có thể phân tích cú pháp bất kỳ tài liệu nào và trích xuất các trường cũng như dữ liệu bảng theo chương trình trên đám mây. Bài viết này sẽ giải thích cách trích xuất dữ liệu cụ thể từ tài liệu PDF bằng API REST trong Python.
Các chủ đề sau đây sẽ được đề cập trong bài viết này:
- Trình phân tích cú pháp tài liệu API REST và Python SDK
- Trích xuất dữ liệu theo Đối tượng mẫu bằng Python
- Trích xuất dữ liệu theo tệp mẫu bằng Python
Trình phân tích cú pháp tài liệu API REST và Python SDK
Để phân tích cú pháp tài liệu PDF và trích xuất dữ liệu dựa trên mẫu, tôi sẽ sử dụng API Python SDK của GroupDocs.Parser Cloud. Nó cho phép bạn phân tích dữ liệu từ tất cả các loại tài liệu phổ biến như tài liệu PDF, tài liệu Microsoft Office và định dạng tệp OpenDocument. Bạn có thể trích xuất văn bản, hình ảnh và phân tích cú pháp dữ liệu theo mẫu bằng SDK. Nó cũng cung cấp SDK .NET, Java, PHP, Ruby và Node.js dưới dạng các thành viên trong họ trình phân tích cú pháp tài liệu cho Cloud API.
Bạn có thể cài đặt GroupDocs.Parser Cloud cho dự án Python của mình bằng pip (trình cài đặt gói cho python) bằng cách sử dụng lệnh sau trong bảng điều khiển để trích xuất thông tin từ pdf:
pip install groupdocs_parser_cloud
Vui lòng lấy ID khách hàng và Bí mật khách hàng của bạn từ bảng điều khiển và thêm mã như hình bên dưới:
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 = ""
Trích xuất dữ liệu theo Đối tượng mẫu bằng Python
Bạn có thể trích xuất dữ liệu từ tài liệu PDF bằng mẫu bằng cách thực hiện theo các bước đơn giản dưới đây:
- Tải lên tệp PDF lên Đám mây
- Trích xuất dữ liệu dựa trên mẫu bằng Python
Tải lên tài liệu
Trước hết, hãy tải tài liệu PDF lên Đám mây bằng ví dụ mã được cung cấp bên dưới:
# Tạo phiên bản của API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
# tải lên các tập tin mẫu
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)
Do đó, tệp PDF đã tải lên sẽ có trong phần tệp trên trang tổng quan của bạn trên đám mây.
Khai thác dữ liệu dựa trên mẫu bằng Python
Vui lòng làm theo các bước được đề cập bên dưới để trích xuất dữ liệu từ tệp PDF dựa trên mẫu theo chương trình.
- Tạo một phiên bản của ParseApi
- Xác định ParseOptions và Đặt đường dẫn đến tệp PDF
- Tạo Mẫu làm đối tượng
- Tạo ParseRequest
- Nhận kết quả bằng cách gọi phương thức ParseApi.parse()
Mẫu mã sau đây cho biết cách trích xuất dữ liệu theo mẫu đã xác định từ tài liệu PDF bằng API REST.
# khởi tạo api
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# xác định các tùy chọn phân tích cú pháp
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
# Nhận đối tượng mẫu
options.template = GetTemplate()
# yêu cầu phân tích cú pháp
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)
# Hiển thị kết quả
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);
Vui lòng tìm bên dưới mẫu được tạo theo tài liệu 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
Trích xuất dữ liệu theo tệp mẫu bằng Python
Bạn cũng có thể trích xuất dữ liệu từ tài liệu PDF bằng cách cung cấp tệp mẫu dựa trên JSON theo chương trình. Vui lòng làm theo các bước được đề cập bên dưới để phân tích cú pháp tài liệu bằng cách cung cấp tệp mẫu.
- Tạo một phiên bản của ParseApi
- Xác định ParseOptions
- Đặt đường dẫn đến tệp PDF
- Đặt đường dẫn đến tệp mẫu
- Tạo ParseRequest
- Nhận kết quả bằng cách gọi phương thức ParseApi.parse()
Mẫu mã sau đây cho biết cách phân tích cú pháp tài liệu PDF và trích xuất dữ liệu theo mẫu được cung cấp trong tệp JSON bằng API REST. Vui lòng làm theo các bước được đề cập trước đó để tải tệp lên.
# khởi tạo api
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# xác định các tùy chọn phân tích cú pháp
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"
# yêu cầu phân tích cú pháp
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)
# hiển thị kết quả
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);
Vui lòng tìm bên dưới mẫu ở định dạng 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
}
}
}
}
]
}
Giải nén tệp PDF trực tuyến
Làm thế nào để sử dụng trình trích xuất pdf trực tuyến miễn phí? Vui lòng thử công cụ Phân tích cú pháp PDF trực tuyến miễn phí sau đây và trình trích xuất trang pdf miễn phí. Công cụ trích xuất pdf trực tuyến và giải nén pdf trực tuyến miễn phí này được phát triển bằng API trên. https://products.groupdocs.app/parser/pdf
Phần kết luận
Trong bài viết này, bạn đã học cách trích xuất dữ liệu cụ thể từ tài liệu PDF theo mẫu được cung cấp trên đám mây. Bạn cũng đã học cách tạo đối tượng mẫu và cung cấp mẫu ở định dạng JSON. Bài viết này cũng giải thích cách lập trình tải tệp PDF lên đám mây để trích xuất dữ liệu pdf trực tuyến. Bạn có thể tìm hiểu thêm về GroupDocs.Parser Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt.
Đặt một câu hỏi
Nếu bạn có bất kỳ thắc mắc nào về trích xuất dữ liệu từ pdf và trích xuất dữ liệu pdf trực tuyến, vui lòng hỏi chúng tôi tại Diễn đàn hỗ trợ miễn phí