Estrarre i dati dal pdf scansionato o raschiare il pdf utilizzando l'estrattore di pagine pdf online.

Come estrarre dati da PDF usando Python

Potrebbe essere necessario estrarre i dati dai documenti PDF o Word utilizzando un modello definito dall’utente. Puoi analizzare qualsiasi documento ed estrarre campi e dati della tabella in modo programmatico sul cloud. Questo articolo spiegherà come estrarre dati specifici da documenti PDF utilizzando un’API REST in Python.

In questo articolo saranno trattati i seguenti argomenti:

Document Parser REST API e Python SDK

Per l’analisi di un documento PDF e l’estrazione dei dati in base a un modello, utilizzerò l’API Python SDK of GroupDocs.Parser Cloud. Ti consente di analizzare i dati da tutti i tipi di documenti più diffusi come documenti PDF, documenti Microsoft Office e formati di file OpenDocument. Puoi estrarre testo, immagini e analizzare i dati da un modello utilizzando l’SDK. Fornisce inoltre SDK .NET, Java, PHP, Ruby e Node.js come membri della famiglia di analizzatori di documenti per l’API Cloud.

Puoi installare GroupDocs.Parser Cloud nel tuo progetto Python con pip (package installer for python) utilizzando il seguente comando nella console per estrarre le informazioni dal pdf:

pip install groupdocs_parser_cloud

Ottieni il tuo ID cliente e Segreto cliente dalla dashboard e aggiungi il codice come mostrato di seguito:

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 = ""

Estrai i dati per oggetto modello usando Python

È possibile estrarre i dati dai documenti PDF utilizzando un modello seguendo i semplici passaggi indicati di seguito:

Carica il documento

Prima di tutto, carica il documento PDF sul Cloud utilizzando il codice di esempio riportato di seguito:

# Crea un'istanza dell'API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)

# caricare file di esempio
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)

Di conseguenza, il file PDF caricato sarà disponibile nella sezione file della dashboard sul cloud.

Estrazione dei dati basata su modelli tramite Python

Si prega di seguire i passaggi indicati di seguito per estrarre i dati dal file PDF in base al modello a livello di programmazione.

  1. Crea un’istanza di ParseApi
  2. Definisci ParseOptions e imposta il percorso del file PDF
  3. Crea modello come oggetto
  4. Crea richiesta di analisi
  5. Ottieni risultati chiamando il metodo ParseApi.parse().

L’esempio di codice seguente mostra come estrarre i dati in base al modello definito da un documento PDF utilizzando un’API REST.

# inizializzazione dell'API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# definire le opzioni di analisi
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"

# Ottieni oggetto modello
options.template = GetTemplate()  

# richiesta di analisi
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# Mostra i risultati
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);

Di seguito trovi il modello creato in base al documento 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
Dati estratti analizzando un documento utilizzando il modello

Dati estratti analizzando un documento utilizzando il modello

Estrai i dati per file modello usando Python

Puoi anche estrarre i dati dal documento PDF fornendo un file modello basato su JSON a livello di codice. Si prega di seguire i passaggi indicati di seguito per analizzare il documento fornendo un file modello.

  1. Crea un’istanza di ParseApi
  2. Definire ParseOptions
  3. Imposta il percorso del file PDF
  4. Imposta il percorso del file modello
  5. Crea richiesta di analisi
  6. Ottieni risultati chiamando il metodo ParseApi.parse().

L’esempio di codice seguente mostra come analizzare un documento PDF ed estrarre i dati in base al modello fornito nel file JSON utilizzando un’API REST. Si prega di seguire i passaggi menzionati in precedenza per caricare i file.

# inizializzazione dell'API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# definire le opzioni di analisi
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"

# richiesta di analisi
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# mostra i risultati
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);

Di seguito trovi il modello in formato 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
          }
        }
      }
    }
  ]
}

Estrai il file PDF online

Come utilizzare l’estrattore di pdf online gratuitamente? Si prega di provare il seguente strumento di analisi PDF online gratuito e l’estrattore di pagine PDF gratuito. Questo estrattore di pdf online e lo strumento gratuito di estrazione di pdf online è sviluppato utilizzando l’API di cui sopra. https://products.groupdocs.app/parser/pdf

Conclusione

In questo articolo, hai imparato come estrarre dati specifici da documenti PDF in base al modello fornito sul cloud. Hai anche imparato come creare un oggetto modello e fornire un modello in formato JSON. Questo articolo ha anche spiegato come caricare in modo programmatico un file PDF sul cloud per l’estrazione di dati PDF online. Puoi saperne di più su GroupDocs.Parser Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser.

Fai una domanda

Se hai domande sull’estrazione di dati da pdf e sull’estrazione di dati pdf online, non esitare a contattarci al Forum di supporto gratuito

Guarda anche