Möglicherweise müssen Sie Daten mithilfe einer benutzerdefinierten Vorlage aus Ihren PDF oder Word Dokumenten extrahieren. Sie können jedes Dokument programmgesteuert in der Cloud analysieren und Felder und Tabellendaten extrahieren. In diesem Artikel wird erläutert, wie Sie mithilfe einer REST-API in Python bestimmte Daten aus PDF Dokumenten extrahieren.
Die folgenden Themen sollen in diesem Artikel behandelt werden:
- Dokumentparser-REST-API und Python-SDK
- Extrahieren Sie Daten nach Vorlagenobjekt mit Python
- Extrahieren Sie Daten anhand einer Vorlagendatei mit Python
Dokumentparser-REST-API und Python-SDK
Zum Parsen eines PDF Dokuments und zum Extrahieren von Daten basierend auf einer Vorlage verwende ich die Python SDK of GroupDocs.Parser Cloud API. Es ermöglicht Ihnen, Daten aus allen gängigen Dokumenttypen wie PDF Dokumenten, Microsoft Office Dokumenten und OpenDocument Datei formaten zu analysieren. Mit dem SDK können Sie Text und Bilder extrahieren und Daten anhand einer Vorlage analysieren. Es stellt außerdem .NET-, Java-, PHP-, Ruby und Node.js-SDKs als Mitglieder der Dokumentparser-Familie für die Cloud-API bereit.
Sie können GroupDocs.Parser Cloud mit pip (Paketinstallationsprogramm für Python) in Ihrem Python-Projekt installieren, indem Sie den folgenden Befehl in der Konsole verwenden, um Informationen aus PDF zu extrahieren:
pip install groupdocs_parser_cloud
Bitte rufen Sie Ihre Client-ID und Ihr Client-Geheimnis vom Dashboard ab und fügen Sie den Code wie unten gezeigt ein:
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 = ""
Extrahieren Sie Daten nach Vorlagenobjekt mit Python
Sie können Daten aus PDF Dokumenten mithilfe einer Vorlage extrahieren, indem Sie die folgenden einfachen Schritte ausführen:
- Hochladen der PDF-Datei in die Cloud
- Vorlagenbasierte Datenextraktion mit Python
Laden Sie das Dokument hoch
Laden Sie zunächst das PDF Dokument mithilfe des unten angegebenen Codebeispiels in die Cloud hoch:
# Erstellen Sie eine Instanz der API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
# Beispieldateien hochladen
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)
Dadurch ist die hochgeladene PDF-Datei im Dateienbereich Ihres Dashboards in der Cloud verfügbar.
Vorlagenbasierte Datenextraktion mit Python
Bitte befolgen Sie die unten aufgeführten Schritte, um Daten aus der PDF-Datei basierend auf der Vorlage programmgesteuert zu extrahieren.
- Erstellen Sie eine Instanz von ParseApi
- Definieren Sie ParseOptions und legen Sie den Pfad zur PDF-Datei fest
- Vorlage als Objekt erstellen
- Erstellen Sie ParseRequest
- Erhalten Sie Ergebnisse, indem Sie die Methode ParseApi.parse() aufrufen
Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API Daten gemäß der definierten Vorlage aus einem PDF Dokument extrahieren.
# API-Initialisierung
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# Definieren Sie Parse-Optionen
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
# Vorlagenobjekt abrufen
options.template = GetTemplate()
# Analyseanforderung
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)
# Zeige Ergebnisse
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);
Nachfolgend finden Sie die gemäß dem PDF Dokument erstellte Vorlage.
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
Extrahieren Sie Daten anhand einer Vorlagendatei mit Python
Sie können Daten auch aus dem PDF Dokument extrahieren, indem Sie programmgesteuert eine JSON-basierte Vorlagendatei bereitstellen. Bitte befolgen Sie die unten aufgeführten Schritte, um das Dokument zu analysieren, indem Sie eine Vorlagendatei bereitstellen.
- Erstellen Sie eine Instanz von ParseApi
- Definieren Sie ParseOptions
- Legen Sie den Pfad zur PDF-Datei fest
- Legen Sie den Pfad zur Vorlagendatei fest
- Erstellen Sie ParseRequest
- Erhalten Sie Ergebnisse, indem Sie die Methode ParseApi.parse() aufrufen
Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API ein PDF Dokument analysieren und Daten gemäß der in der JSON-Datei bereitgestellten Vorlage extrahieren. Bitte befolgen Sie die zuvor genannten Schritte, um die Dateien hochzuladen.
# API-Initialisierung
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# Definieren Sie Parse-Optionen
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"
# Analyseanforderung
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)
# zeige Ergebnisse
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);
Nachfolgend finden Sie die Vorlage im JSON-Format.
{
"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
}
}
}
}
]
}
Extrahieren Sie die PDF-Datei online
Wie verwende ich den kostenlosen Online-PDF-Extraktor? Bitte probieren Sie das folgende kostenlose Online-PDF-Parsing-Tool und den kostenlosen PDF-Seitenextraktor aus. Dieser Online-PDF-Extraktor und das kostenlose Online-Tool zum Extrahieren von PDFs wurde unter Verwendung der oben genannten API entwickelt. https://products.groupdocs.app/parser/pdf
Abschluss
In diesem Artikel haben Sie erfahren, wie Sie bestimmte Daten aus PDF Dokumenten gemäß der bereitgestellten Vorlage in der Cloud extrahieren. Sie haben außerdem gelernt, wie Sie ein Vorlagenobjekt erstellen und eine Vorlage im JSON-Format bereitstellen. In diesem Artikel wurde auch erläutert, wie Sie eine PDF-Datei programmgesteuert in die Cloud hochladen, um PDF-Daten online zu extrahieren. Weitere Informationen zur GroupDocs.Parser Cloud API finden Sie in der Dokumentation. Wir bieten auch einen Abschnitt API-Referenz an, mit dem Sie unsere APIs direkt über den Browser visualisieren und mit ihnen interagieren können.
Stelle eine Frage
Wenn Sie Fragen zum Extrahieren von Daten aus PDFs und zum Extrahieren von PDF-Daten online haben, wenden Sie sich bitte an uns im Kostenlosen Support-Forum.