Estrai dati da PDF utilizzando l'API REST in Node.js

Estrazione di dati da PDF utilizzando l’API REST in Node.js

Possiamo facilmente analizzare documenti PDF ed estrarre dati specifici utilizzando un modello definito dall’utente sul cloud. Possiamo estrarre campi e dati di tabelle da file PDF in modo programmatico. In questo articolo impareremo come estrarre dati da PDF utilizzando l’API REST in Node.js.

In questo articolo saranno trattati i seguenti argomenti:

REST API e Node.js SDK per estrarre dati da PDF

Per l’analisi dei documenti PDF e l’estrazione dei dati in base a un modello, utilizzeremo l’API Node.js SDK of GroupDocs.Parser Cloud. Consente inoltre l’analisi di altri tipi di documenti supportati e l’estrazione di testo, immagini e dati specifici utilizzando un modello. Si prega di installarlo utilizzando il seguente comando nella console:

npm install groupdocs-parser-cloud

Si prega di ottenere l’ID cliente e il segreto dalla dashboard prima di seguire i passaggi menzionati. Una volta che hai il tuo ID e segreto, aggiungi il codice come mostrato di seguito:

// Questo esempio di codice mostra come aggiungere l'ID client e il segreto.
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";

global.myStorage = "";

const configuration = new groupdocs_parser_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Estrai i dati utilizzando il file modello basato su JSON in Node.js

Possiamo estrarre dati da documenti PDF utilizzando un modello seguendo i semplici passaggi indicati di seguito:

Carica il documento

In primo luogo, caricheremo il documento PDF nel cloud per raschiare il pdf utilizzando l’esempio di codice fornito di seguito:

// Questo esempio di codice mostra come caricare un documento PDF nel cloud.
// Costruisci FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\companies.pdf';

// Leggi file
fs.readFile(file, (err, fileStream) => {
  // Richiesta di caricamento del file
  let request = new groupdocs_parser_cloud.UploadFileRequest("companies.pdf", fileStream, myStorage);
  // Caricare un file
  fileApi.uploadFile(request);
});

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

Estrai dati da PDF utilizzando un file modello basato su JSON

Possiamo analizzare il documento PDF ed estrarre i dati utilizzando un file modello basato su JSON seguendo i passaggi indicati di seguito:

  1. Crea un’istanza di ParseApi.
  2. Fornisci il percorso del file PDF caricato.
  3. Imposta il percorso del file JSON del modello.
  4. Infine, analizza il documento ed estrai i dati.

L’esempio di codice seguente mostra come estrarre i dati in base al modello fornito nel file JSON utilizzando un’API REST.

// Questo esempio di codice mostra come analizzare un documento PDF mediante un modello basato su JSON.
// Crea un'istanza dell'API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Percorso del file di input
let fileInfo = new groupdocs_parser_cloud.FileInfo()
fileInfo.filePath = "companies.pdf"

// Crea opzioni di analisi
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
options.templatePath = "template.json";

// Crea richiesta di analisi
let request = new groupdocs_parser_cloud.ParseRequest(options);

// Analizza il documento
let response = await parseApi.parse(request);

// Visualizzare l'uscita
response.fieldsData.forEach(data => {
  if (data.pageArea.pageTextArea != null) {
    console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
  }

  if (data.pageArea.pageTableArea != null) {
    console.log("Table name: " + data.name);

    data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
      console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.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 i dati utilizzando l’oggetto modello in Node.js

Possiamo estrarre i dati da un file PDF in base al modello definito come oggetto seguendo i passaggi indicati di seguito:

  1. Crea un’istanza di ParseApi.
  2. Fornisci il percorso del file PDF caricato.
  3. Inizializza un modello come oggetto.
  4. Infine, analizza il documento ed estrai i dati.

L’esempio di codice seguente mostra come estrarre i dati in base al modello definito da un documento PDF utilizzando un’API REST. Si prega di seguire i passaggi menzionati in precedenza per caricare il file.

// Questo esempio di codice mostra come analizzare un documento PDF in base all'oggetto modello.
// Inizializzazione dell'API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// File di input
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "companies.pdf";

// Definire le opzioni di analisi
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;

// Ottieni oggetto modello
options.template = GetTemplate();

// Crea richiesta di analisi
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Passa il documento
let result = await parseApi.parse(request);

// Mostra i risultati
result.fieldsData.forEach(data => {
  if (data.pageArea.pageTextArea != null) {
    console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
  }

  if (data.pageArea.pageTableArea != null) {
    console.log("Table name: " + data.name);

    data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
      console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
    });
  }
});

Di seguito trovi l’oggetto modello creato in base al documento PDF per lo scraping dei dati dal pdf.

// Questo esempio di codice illustra un oggetto modello.
let field1 = new groupdocs_parser_cloud.Field();
field1.fieldName = "Address";
let fieldPosition1 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition1.fieldPositionType = "Regex";
fieldPosition1.regex = "Company address:";
field1.fieldPosition = fieldPosition1;

let field2 = new groupdocs_parser_cloud.Field();
field2.fieldName = "CompanyAddress";
let fieldPosition2 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition2.fieldPositionType = "Linked";
fieldPosition2.linkedFieldName = "ADDRESS";
fieldPosition2.isRightLinked = true;
let size2 = new groupdocs_parser_cloud.Size();
size2.width = 100;
size2.height = 10;
fieldPosition2.searchArea = size2;
fieldPosition2.autoScale = true;
field2.fieldPosition = fieldPosition2;

let field3 = new groupdocs_parser_cloud.Field();
field3.fieldName = "Company";
let fieldPosition3 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition3.fieldPositionType = "Regex";
fieldPosition3.regex = "Company name:";
field3.fieldPosition = fieldPosition3;

let field4 = new groupdocs_parser_cloud.Field();
field4.fieldName = "CompanyName";
let fieldPosition4 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition4.fieldPositionType = "Linked";
fieldPosition4.linkedFieldName = "Company";
fieldPosition4.isRightLinked = true;
let size4 = new groupdocs_parser_cloud.Size();
size4.width = 100;
size4.height = 10;
fieldPosition4.searchArea = size4;
fieldPosition4.autoScale = true;
field4.fieldPosition = fieldPosition4;

let table = new groupdocs_parser_cloud.Table();
table.tableName = "Companies";
let detectorparams = new groupdocs_parser_cloud.DetectorParameters();
let rect = new groupdocs_parser_cloud.Rectangle();
let size = new groupdocs_parser_cloud.Size();
size.height = 60;
size.width = 480;
let position = new groupdocs_parser_cloud.Point();
position.x = 77;
position.y = 279;
rect.size = size;
rect.position = position;
detectorparams.rectangle = rect;
table.detectorParameters = detectorparams;

let fields = [field1, field2, field3, field4];
let tables = [table];
let template = new groupdocs_parser_cloud.Template();
template.fields = fields;
template.tables = tables;

return template;
Estrai i dati utilizzando l'oggetto modello in Node.js

Estrai i dati utilizzando l’oggetto modello in Node.js

Analizza il documento all’interno del contenitore utilizzando il modello in Node.js

Possiamo anche analizzare il documento PDF disponibile all’interno del contenitore ed estrarre i dati utilizzando l’oggetto modello. Si prega di seguire i passaggi indicati di seguito per analizzare il documento per estrarre i dati dal pdf scansionato all’interno di un contenitore.

  1. Crea un’istanza di ParseApi.
  2. Fornire il percorso del file di archivio caricato.
  3. Inizializza un modello come oggetto.
  4. Fornire l’elemento contenitore.
  5. Infine, analizza il documento ed estrai i dati.

L’esempio di codice seguente mostra come analizzare un documento PDF all’interno di un archivio ZIP utilizzando un’API REST. Si prega di seguire i passaggi menzionati in precedenza per caricare i file ed estrarre le informazioni dal pdf.

// Questo esempio di codice mostra come analizzare un documento PDF disponibile all'interno del contenitore.
// Inizializzazione dell'API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Percorso del file di input
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "archive.zip";

// Crea opzioni di analisi
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;

// Ottieni oggetto modello
options.template = GetTemplate();

// Informazioni sull'articolo del contenitore
let containerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerItemInfo.relativePath = "companies.pdf";
options.containerItemInfo = containerItemInfo;

// Crea richiesta di analisi
let request = new groupdocs_parser_cloud.ParseRequest(options);

// Crea richiesta
let response = await parseApi.parse(request);

// Visualizzare l'uscita
response.fieldsData.forEach(data => {
  if (data.pageArea.pageTextArea != null) {
    console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
  }

  if (data.pageArea.pageTableArea != null) {
    console.log("Table name: " + data.name);

    data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
      console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
    });
  }
});

Prova in linea

Si prega di provare il seguente strumento di analisi PDF online gratuito per l’estrazione di dati PDF online. Questo estrattore di contenuti pdf è sviluppato utilizzando l’API di cui sopra. https://products.groupdocs.app/parser/pdf

Conclusione

In questo articolo abbiamo imparato come estrarre dati specifici da documenti PDF secondo il template fornito sul cloud. Abbiamo anche visto come creare un oggetto template o utilizzare un template in formato JSON. Ora sai come estrarre informazioni da pdf utilizzando l’API raschietto pdf e l’estrattore di dati PDF gratuito. Inoltre, 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. In caso di ambiguità, non esitate a contattarci sul forum.

Guarda anche