Вам может потребоваться извлечь данные из документов PDF или Word с помощью пользовательского шаблона. Вы можете анализировать любой документ и программно извлекать поля и табличные данные в облаке. В этой статье объясняется, как извлекать определенные данные из PDF-документов с помощью REST API в Python.
В этой статье должны быть раскрыты следующие темы:
- Анализатор документов REST API и Python SDK
- Извлечение данных по объекту шаблона с использованием Python
- Извлечение данных по файлу шаблона с использованием Python
Анализатор документов REST API и Python SDK
Для разбора документа PDF и извлечения данных на основе шаблона я буду использовать API Python SDK of GroupDocs.Parser Cloud. Он позволяет анализировать данные из всех популярных типов документов, таких как документы PDF, документы Microsoft Office и форматы файлов OpenDocument. Вы можете извлекать текст, изображения и анализировать данные по шаблону с помощью SDK. Он также предоставляет SDK для .NET, Java, PHP, Ruby и Node.js в качестве членов семейства парсеров документов для Cloud API.
Вы можете установить GroupDocs.Parser Cloud в свой проект Python с помощью pip (установщик пакета для 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 в облако
- Извлечение данных на основе шаблона с использованием Python
Загрузить документ
Прежде всего, загрузите документ 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 на основе шаблона.
- Создайте экземпляр 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
Извлечение данных по файлу шаблона с использованием Python
Вы также можете извлечь данные из документа PDF, предоставив файл шаблона на основе JSON программно. Пожалуйста, следуйте инструкциям ниже, чтобы проанализировать документ, предоставив файл шаблона.
- Создайте экземпляр 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 Extractor онлайн бесплатно? Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент для анализа PDF-файлов и бесплатный экстрактор страниц в формате PDF. Этот онлайн-инструмент для извлечения PDF-файлов и извлечения PDF-файлов разработан с использованием вышеуказанного API. https://products.groupdocs.app/parser/pdf
Заключение
В этой статье вы узнали, как извлекать определенные данные из PDF-документов в соответствии с предоставленным шаблоном в облаке. Вы также узнали, как создать объект шаблона и предоставить шаблон в формате JSON. В этой статье также объясняется, как программно загрузить файл PDF в облако для извлечения данных PDF в Интернете. Вы можете узнать больше о GroupDocs.Parser Cloud API, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер.
Задайте вопрос
Если у вас есть какие-либо вопросы об извлечении данных из pdf и извлечении данных из pdf в Интернете, не стесняйтесь задавать их нам на Форуме бесплатной поддержки