Extrahieren Sie Daten aus PDF mithilfe der REST-API in Node.js

Extrahieren von Daten aus PDF mithilfe der REST-API in Node.js

Mithilfe einer benutzerdefinierten Vorlage in der Cloud können wir ganz einfach PDF Dokumente analysieren und spezifische Daten extrahieren. Wir können Felder und Tabellendaten programmgesteuert aus PDF Dateien extrahieren. In diesem Artikel erfahren Sie, wie Sie mithilfe der REST-API in Node.js Daten aus PDF Dateien extrahieren.

Die folgenden Themen sollen in diesem Artikel behandelt werden:

REST-API und Node.js SDK zum Extrahieren von Daten aus PDF

Zum Parsen von PDF Dokumenten und zum Extrahieren von Daten basierend auf einer Vorlage verwenden wir die API Node.js SDK von GroupDocs.Parser Cloud. Es ermöglicht auch das Parsen anderer unterstützter Dokumenttypen und das Extrahieren von Text, Bildern und spezifischen Daten mithilfe einer Vorlage. Bitte installieren Sie es mit dem folgenden Befehl in der Konsole:

npm install groupdocs-parser-cloud

Bitte holen Sie sich Ihre Kunden-ID und Ihr Geheimnis aus dem Dashboard, bevor Sie die genannten Schritte ausführen. Sobald Sie Ihre ID und Ihr Geheimnis haben, fügen Sie den Code wie unten gezeigt ein:

// Dieses Codebeispiel zeigt, wie Sie Ihre Client-ID und Ihr Geheimnis hinzufügen.
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";

Extrahieren Sie Daten mithilfe einer JSON-basierten Vorlagendatei in Node.js

Wir können Daten aus PDF Dokumenten mithilfe einer Vorlage extrahieren, indem wir die folgenden einfachen Schritte ausführen:

Laden Sie das Dokument hoch

Zuerst laden wir das PDF Dokument zum Scrapen von PDFs in die Cloud hoch, indem wir das unten angegebene Codebeispiel verwenden:

// Dieses Codebeispiel zeigt, wie Sie ein PDF Dokument in die Cloud hochladen.
// Konstruieren Sie FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\companies.pdf';

// Datei lesen
fs.readFile(file, (err, fileStream) => {
  // Anfrage zum Hochladen einer Datei
  let request = new groupdocs_parser_cloud.UploadFileRequest("companies.pdf", fileStream, myStorage);
  // Datei hochladen
  fileApi.uploadFile(request);
});

Dadurch ist die hochgeladene PDF-Datei im Dateienbereich des Dashboards in der Cloud verfügbar.

Extrahieren Sie Daten aus PDF mithilfe einer JSON-basierten Vorlagendatei

Wir können das PDF Dokument analysieren und Daten mithilfe einer JSON-basierten Vorlagendatei extrahieren, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der ParseApi.
  2. Geben Sie den Pfad der hochgeladenen PDF-Datei an.
  3. Legen Sie den Pfad zur JSON-Vorlagendatei fest.
  4. Analysieren Sie abschließend das Dokument und extrahieren Sie die Daten.

Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API Daten gemäß der in der JSON-Datei bereitgestellten Vorlage extrahieren.

// Dieses Codebeispiel zeigt, wie ein PDF Dokument anhand einer JSON-basierten Vorlage analysiert wird.
// Erstellen Sie eine Instanz der API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Pfad der Eingabedatei
let fileInfo = new groupdocs_parser_cloud.FileInfo()
fileInfo.filePath = "companies.pdf"

// Erstellen Sie Parse-Optionen
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
options.templatePath = "template.json";

// Parse-Anfrage erstellen
let request = new groupdocs_parser_cloud.ParseRequest(options);

// Analysieren Sie das Dokument
let response = await parseApi.parse(request);

// Ausgabe anzeigen
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);
    });
  }
});

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 Daten mithilfe des Vorlagenobjekts in Node.js

Wir können Daten aus einer PDF-Datei basierend auf der als Objekt definierten Vorlage extrahieren, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der ParseApi.
  2. Geben Sie den Pfad der hochgeladenen PDF-Datei an.
  3. Initialisieren Sie eine Vorlage als Objekt.
  4. Analysieren Sie abschließend das Dokument und extrahieren Sie die Daten.

Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API Daten gemäß der definierten Vorlage aus einem PDF Dokument extrahieren. Bitte befolgen Sie die zuvor genannten Schritte, um die Datei hochzuladen.

// Dieses Codebeispiel zeigt, wie ein PDF Dokument nach Vorlagenobjekt analysiert wird.
// API-Initialisierung
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Eingabedatei
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "companies.pdf";

// Definieren Sie Parse-Optionen
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;

// Vorlagenobjekt abrufen
options.template = GetTemplate();

// Analyseanforderung erstellen
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Geben Sie das Dokument ein
let result = await parseApi.parse(request);

// Zeige Ergebnisse
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);
    });
  }
});

Nachfolgend finden Sie das Vorlagenobjekt, das gemäß dem PDF Dokument zum Scrapen von Daten aus PDF erstellt wurde.

// Dieses Codebeispiel demonstriert ein Vorlagenobjekt.
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;
Extrahieren Sie Daten mithilfe des Vorlagenobjekts in Node.js

Extrahieren Sie Daten mithilfe des Vorlagenobjekts in Node.js

Analysieren Sie das Dokument im Container mithilfe der Vorlage in Node.js

Wir können auch das im Container verfügbare PDF Dokument analysieren und Daten mithilfe des Vorlagenobjekts extrahieren. Bitte befolgen Sie die unten aufgeführten Schritte, um das Dokument zu analysieren und Daten aus gescannten PDFs in einem Container zu extrahieren.

  1. Erstellen Sie eine Instanz der ParseApi.
  2. Geben Sie den Pfad der hochgeladenen Archivdatei an.
  3. Initialisieren Sie eine Vorlage als Objekt.
  4. Stellen Sie den Containerartikel bereit.
  5. Analysieren Sie abschließend das Dokument und extrahieren Sie die Daten.

Das folgende Codebeispiel zeigt, wie Sie ein PDF Dokument in einem ZIP-Archiv mithilfe einer REST-API analysieren. Bitte befolgen Sie die zuvor genannten Schritte, um die Dateien hochzuladen und Informationen aus der PDF-Datei zu extrahieren.

// Dieses Codebeispiel zeigt, wie ein im Container verfügbares PDF Dokument analysiert wird.
// API-Initialisierung
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Pfad der Eingabedatei
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "archive.zip";

// Erstellen Sie Parse-Optionen
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;

// Vorlagenobjekt abrufen
options.template = GetTemplate();

// Informationen zum Containerartikel
let containerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerItemInfo.relativePath = "companies.pdf";
options.containerItemInfo = containerItemInfo;

// Analyseanforderung erstellen
let request = new groupdocs_parser_cloud.ParseRequest(options);

// Anfrage erstellen
let response = await parseApi.parse(request);

// Ausgabe anzeigen
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);
    });
  }
});

Versuchen Sie es online

Bitte probieren Sie das folgende kostenlose Online-PDF-Parsing-Tool für die Online-Extraktion von PDF-Daten aus. Dieser PDF-Inhaltsextraktor wurde mit der oben genannten API entwickelt. https://products.groupdocs.app/parser/pdf

Abschluss

In diesem Artikel haben wir gelernt, wie man bestimmte Daten aus PDF Dokumenten entsprechend der bereitgestellten Vorlage in der Cloud extrahiert. Wir haben auch gesehen, wie man ein Vorlagenobjekt erstellt oder eine Vorlage im JSON-Format verwendet. Jetzt wissen Sie, wie Sie mit der PDF-Scraper-API und dem kostenlosen PDF-Datenextraktor Informationen aus PDFs extrahieren. Außerdem können Sie mithilfe der Dokumentation mehr über die GroupDocs.Parser Cloud API erfahren. Wir bieten auch einen Abschnitt API-Referenz an, mit dem Sie unsere APIs direkt über den Browser visualisieren und mit ihnen interagieren können. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch