Ekstrak Data dari PDF menggunakan REST API di Node.js

Mengekstrak Data dari PDF menggunakan REST API di Node.js

Kami dapat dengan mudah mengurai dokumen PDF dan mengekstrak data tertentu menggunakan templat yang ditentukan pengguna di cloud. Kami dapat mengekstrak bidang dan data tabel dari file PDF secara terprogram. Pada artikel ini, kita akan mempelajari cara mengekstrak data dari PDF menggunakan REST API di Node.js.

Topik-topik berikut akan dibahas dalam artikel ini:

REST API dan Node.js SDK untuk Mengekstrak Data dari PDF

Untuk mem-parsing dokumen PDF dan mengekstrak data berdasarkan template, kami akan menggunakan Node.js SDK dari GroupDocs.Parser Cloud API. Itu juga memungkinkan penguraian [jenis dokumen yang didukung] lainnya 3 dan ekstraksi teks, gambar, dan data spesifik menggunakan templat. Silakan instal menggunakan perintah berikut di konsol:

npm install groupdocs-parser-cloud

Harap dapatkan ID dan Rahasia Klien Anda dari dasbor sebelum mengikuti langkah-langkah yang disebutkan. Setelah Anda memiliki ID dan rahasia Anda, tambahkan kode seperti yang ditunjukkan di bawah ini:

// Contoh kode ini menunjukkan cara menambahkan ID dan Rahasia klien Anda.
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";

Ekstrak Data menggunakan File Template berbasis JSON di Node.js

Kami dapat mengekstrak data dari dokumen PDF menggunakan templat dengan mengikuti langkah-langkah sederhana yang diberikan di bawah ini:

Unggah Dokumen

Pertama, kami akan mengunggah dokumen PDF ke cloud untuk menggores pdf menggunakan contoh kode yang diberikan di bawah ini:

// Contoh kode ini menunjukkan cara mengunggah dokumen PDF ke cloud.
// Membangun FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\companies.pdf';

// Baca berkas
fs.readFile(file, (err, fileStream) => {
  // Unggah permintaan file
  let request = new groupdocs_parser_cloud.UploadFileRequest("companies.pdf", fileStream, myStorage);
  // Unggah data
  fileApi.uploadFile(request);
});

Hasilnya, file PDF yang diunggah akan tersedia di files section dasbor di cloud.

Ekstrak Data dari PDF menggunakan File Template berbasis JSON

Kami dapat mengurai dokumen PDF dan mengekstrak data menggunakan file template berbasis JSON dengan mengikuti langkah-langkah berikut:

  1. Buat instance dari ParseApi.
  2. Berikan jalur file PDF yang diunggah.
  3. Setel jalur ke file JSON template.
  4. Terakhir, parsing dokumen dan ekstrak datanya.

Contoh kode berikut menunjukkan cara mengekstrak data sesuai dengan template yang disediakan dalam file JSON menggunakan REST API.

// Contoh kode ini menunjukkan cara mengurai dokumen PDF dengan Template berbasis JSON.
// Buat instance API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Jalur file masukan
let fileInfo = new groupdocs_parser_cloud.FileInfo()
fileInfo.filePath = "companies.pdf"

// Buat opsi Parse
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
options.templatePath = "template.json";

// Buat permintaan Parse
let request = new groupdocs_parser_cloud.ParseRequest(options);

// Parse dokumen
let response = await parseApi.parse(request);

// Keluaran tampilan
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);
    });
  }
});

Silakan temukan di bawah template dalam format 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
          }
        }
      }
    }
  ]
}

Ekstrak Data menggunakan Objek Templat di Node.js

Kami dapat mengekstrak data dari file PDF berdasarkan template yang didefinisikan sebagai objek dengan mengikuti langkah-langkah berikut:

  1. Buat instance dari ParseApi.
  2. Berikan jalur file PDF yang diunggah.
  3. Inisialisasi Template sebagai objek.
  4. Terakhir, parsing dokumen dan ekstrak datanya.

Contoh kode berikut menunjukkan cara mengekstrak data sesuai dengan template yang ditentukan dari dokumen PDF menggunakan REST API. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah file.

// Contoh kode ini menunjukkan cara mengurai dokumen PDF dengan objek Template.
// inisialisasi api
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

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

// Tentukan opsi parse
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;

// Dapatkan Objek Templat
options.template = GetTemplate();

// Buat permintaan parse
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Pasr dokumen
let result = await parseApi.parse(request);

// Tampilkan Hasil
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);
    });
  }
});

Silakan temukan di bawah objek templat yang dibuat menurut dokumen PDF untuk menggores data dari pdf.

// Contoh kode ini menunjukkan objek template.
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;
Ekstrak Data menggunakan Objek Templat di Node.js

Ekstrak Data menggunakan Objek Templat di Node.js

Parsing Dokumen Di Dalam Kontainer menggunakan Template di Node.js

Kami juga dapat mengurai dokumen PDF yang tersedia di dalam wadah dan mengekstrak data menggunakan objek templat. Silakan ikuti langkah-langkah yang disebutkan di bawah ini untuk mengurai dokumen untuk mengekstrak data dari pdf yang dipindai di dalam wadah.

  1. Buat instance dari ParseApi.
  2. Berikan jalur file arsip yang diunggah.
  3. Inisialisasi Template sebagai objek.
  4. Sediakan barang kontainer.
  5. Terakhir, parsing dokumen dan ekstrak datanya.

Contoh kode berikut menunjukkan cara mengurai dokumen PDF di dalam arsip ZIP menggunakan REST API. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah file dan mengekstrak info dari pdf.

// Contoh kode ini menunjukkan cara mengurai dokumen PDF yang tersedia di dalam wadah.
// inisialisasi api
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Jalur file masukan
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "archive.zip";

// Buat opsi parse
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;

// Dapatkan objek templat
options.template = GetTemplate();

// Info item kontainer
let containerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerItemInfo.relativePath = "companies.pdf";
options.containerItemInfo = containerItemInfo;

// Buat permintaan parse
let request = new groupdocs_parser_cloud.ParseRequest(options);

// Buat permintaan
let response = await parseApi.parse(request);

// Keluaran tampilan
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);
    });
  }
});

Coba Daring

Silakan coba alat Parsing PDF online gratis berikut untuk ekstraksi data pdf online. Ekstraktor konten pdf ini dikembangkan menggunakan API di atas. https://products.groupdocs.app/parser/pdf

Kesimpulan

Pada artikel ini, kita telah mempelajari cara mengekstrak data tertentu dari dokumen PDF sesuai dengan template yang disediakan di cloud. Kita juga telah melihat cara membuat objek template atau menggunakan template dalam format JSON. Sekarang Anda tahu cara mengekstrak informasi dari pdf menggunakan pdf scraper API dan ekstraktor data PDF gratis. Selain itu, Anda dapat mempelajari lebih lanjut tentang GroupDocs.Parser Cloud API menggunakan dokumentasi. Kami juga menyediakan bagian Referensi API yang memungkinkan Anda memvisualisasikan dan berinteraksi dengan API kami secara langsung melalui browser. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum.

Lihat juga