Może być konieczne wyodrębnienie danych z dokumentów PDF lub Word przy użyciu szablonu zdefiniowanego przez użytkownika. Możesz analizować dowolny dokument i programowo wyodrębniać pola i dane z tabeli w chmurze. W tym artykule wyjaśniono, jak wyodrębnić określone dane z dokumentów PDF za pomocą interfejsu API REST w języku Python.
W tym artykule zostaną omówione następujące tematy:
- Interfejs API REST parsera dokumentów i zestaw SDK języka Python
- Wyodrębnij dane według obiektu szablonu za pomocą Python
- Wyodrębnij dane według pliku szablonu za pomocą Python
Document Parser REST API i Python SDK
Do analizowania dokumentu PDF i wyodrębniania danych na podstawie szablonu będę używał API Python SDK of GroupDocs.Parser Cloud. Pozwala analizować dane ze wszystkich popularnych typów dokumentów, takich jak dokumenty PDF, dokumenty Microsoft Office i formaty plików OpenDocument. Możesz wyodrębniać tekst, obrazy i analizować dane za pomocą szablonu za pomocą zestawu SDK. Udostępnia również zestawy SDK .NET, Java, PHP, Ruby i Node.js jako członkowie rodziny parserów dokumentów dla Cloud API.
Możesz zainstalować GroupDocs.Parser Cloud w swoim projekcie Python za pomocą pip (package installer for python), używając następującego polecenia w konsoli, aby wyodrębnić informacje z pliku pdf:
pip install groupdocs_parser_cloud
Uzyskaj swój identyfikator klienta i klucz tajny klienta z panelu nawigacyjnego i dodaj kod, jak pokazano poniżej:
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 = ""
Wyodrębnij dane według obiektu szablonu za pomocą Python
Możesz wyodrębnić dane z dokumentów PDF za pomocą szablonu, wykonując proste czynności wymienione poniżej:
- Prześlij plik PDF do chmury
- Ekstrakcja danych oparta na szablonach przy użyciu Python
Prześlij dokument
Przede wszystkim prześlij dokument PDF do chmury, korzystając z przykładowego kodu podanego poniżej:
# Utwórz instancję interfejsu API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
# wgraj przykładowe pliki
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)
W rezultacie przesłany plik PDF będzie dostępny w sekcji plików Twojego pulpitu nawigacyjnego w chmurze.
Ekstrakcja danych oparta na szablonach przy użyciu języka Python
Wykonaj czynności wymienione poniżej, aby programowo wyodrębnić dane z pliku PDF na podstawie szablonu.
- Utwórz instancję ParseApi
- Zdefiniuj ParseOptions i ustaw ścieżkę do pliku PDF
- Utwórz szablon jako obiekt
- Utwórz żądanie parsowania
- Uzyskaj wyniki, wywołując metodę ParseApi.parse().
Poniższy przykładowy kod pokazuje, jak wyodrębnić dane zgodnie ze zdefiniowanym szablonem z dokumentu PDF przy użyciu interfejsu API REST.
# inicjalizacja API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# zdefiniuj opcje parsowania
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
# Pobierz obiekt szablonu
options.template = GetTemplate()
# przeanalizować żądanie
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)
# Pokaż wyniki
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);
Poniżej znajduje się szablon stworzony na podstawie dokumentu 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
Wyodrębnij dane według pliku szablonu za pomocą Python
Możesz także wyodrębnić dane z dokumentu PDF, dostarczając programowo plik szablonu w formacie JSON. Wykonaj czynności wymienione poniżej, aby przeanalizować dokument, dostarczając plik szablonu.
- Utwórz instancję ParseApi
- Zdefiniuj opcje analizy
- Ustaw ścieżkę do pliku PDF
- Ustaw ścieżkę do pliku szablonu
- Utwórz żądanie parsowania
- Uzyskaj wyniki, wywołując metodę ParseApi.parse().
Poniższy przykładowy kod pokazuje, jak przeanalizować dokument PDF i wyodrębnić dane zgodnie z szablonem dostarczonym w pliku JSON przy użyciu interfejsu API REST. Wykonaj czynności wymienione wcześniej, aby przesłać pliki.
# inicjalizacja API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# zdefiniuj opcje parsowania
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"
# przeanalizować żądanie
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)
# Pokaż wyniki
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);
Poniżej znajdziesz szablon w formacie 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
}
}
}
}
]
}
Wyodrębnij plik PDF online
Jak bezpłatnie korzystać z ekstraktora PDF online? Wypróbuj następujące bezpłatne narzędzie online do analizowania plików PDF i bezpłatny ekstraktor stron PDF. Ten internetowy ekstraktor plików PDF i bezpłatne narzędzie do wyodrębniania plików PDF online zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/parser/pdf
Wniosek
W tym artykule nauczyłeś się, jak wyodrębnić określone dane z dokumentów PDF zgodnie z dostarczonym szablonem w chmurze. Dowiedziałeś się również, jak utworzyć obiekt szablonu i udostępnić szablon w formacie JSON. W tym artykule wyjaśniono również, jak programowo przesłać plik PDF do chmury w celu ekstrakcji danych PDF online. Możesz dowiedzieć się więcej o GroupDocs.Parser Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce.
Zadać pytanie
Jeśli masz jakiekolwiek pytania dotyczące wyodrębniania danych z plików pdf i ekstrakcji danych pdf online, możesz je zadać na Bezpłatne forum wsparcia