Extrahieren Sie Daten aus gescannten PDFs oder Scraping-PDFs mit dem Online-PDF-Seitenextraktor.

So extrahieren Sie Daten aus PDF mit Python

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

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:

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.

  1. Erstellen Sie eine Instanz von ParseApi
  2. Definieren Sie ParseOptions und legen Sie den Pfad zur PDF-Datei fest
  3. Vorlage als Objekt erstellen
  4. Erstellen Sie ParseRequest
  5. 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
Extrahierte Daten durch Parsen eines Dokuments mithilfe einer Vorlage

Extrahierte Daten durch Parsen eines Dokuments mithilfe einer Vorlage

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.

  1. Erstellen Sie eine Instanz von ParseApi
  2. Definieren Sie ParseOptions
  3. Legen Sie den Pfad zur PDF-Datei fest
  4. Legen Sie den Pfad zur Vorlagendatei fest
  5. Erstellen Sie ParseRequest
  6. 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.

Siehe auch