แยกข้อมูลจาก PDF โดยใช้ REST API ใน Node.js

แยกข้อมูลจาก PDF โดยใช้ REST API ใน Node.js

เราสามารถแยกวิเคราะห์เอกสาร PDF และแยกข้อมูลที่ต้องการได้อย่างง่ายดายโดยใช้เทมเพลตที่ผู้ใช้กำหนดบนคลาวด์ เราสามารถแยกเขตข้อมูลและข้อมูลตารางจากไฟล์ PDF โดยทางโปรแกรม ในบทความนี้ เราจะมาเรียนรู้วิธีดึงข้อมูลจาก PDF โดยใช้ REST API ใน Node.js

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

REST API และ Node.js SDK เพื่อดึงข้อมูลจาก PDF

สำหรับการแยกวิเคราะห์เอกสาร PDF และแยกข้อมูลตามเทมเพลต เราจะใช้ Node.js SDK ของ GroupDocs.Parser Cloud API นอกจากนี้ยังอนุญาตให้แยกวิเคราะห์ [ประเภทเอกสารที่รองรับ] อื่นๆ 3 และการแยกข้อความ รูปภาพ และข้อมูลเฉพาะโดยใช้เทมเพลต โปรดติดตั้งโดยใช้คำสั่งต่อไปนี้ในคอนโซล:

npm install groupdocs-parser-cloud

โปรด รับรหัสลูกค้าและข้อมูลลับจากแดชบอร์ด ก่อนทำตามขั้นตอนดังกล่าว เมื่อคุณมี ID และรหัสลับของคุณแล้ว ให้เพิ่มรหัสตามที่แสดงด้านล่าง:

// ตัวอย่างรหัสนี้สาธิตวิธีเพิ่มรหัสลูกค้าและข้อมูลลับของคุณ
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";

แยกข้อมูลโดยใช้ไฟล์เทมเพลตตาม JSON ใน Node.js

เราสามารถดึงข้อมูลจากเอกสาร PDF โดยใช้เทมเพลตโดยทำตามขั้นตอนง่าย ๆ ด้านล่าง:

อัปโหลดเอกสาร

ประการแรก เราจะอัปโหลดเอกสาร PDF ไปยังคลาวด์เพื่อขูดไฟล์ PDF โดยใช้ตัวอย่างโค้ดที่ระบุด้านล่าง:

// ตัวอย่างโค้ดนี้สาธิตวิธีอัปโหลดเอกสาร PDF ไปยังระบบคลาวด์
// สร้าง FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\companies.pdf';

// อ่านไฟล์
fs.readFile(file, (err, fileStream) => {
  // อัปโหลดคำขอไฟล์
  let request = new groupdocs_parser_cloud.UploadFileRequest("companies.pdf", fileStream, myStorage);
  // อัพโหลดไฟล์
  fileApi.uploadFile(request);
});

ด้วยเหตุนี้ ไฟล์ PDF ที่อัปโหลดจะอยู่ใน ส่วนไฟล์ ของแดชบอร์ดบนระบบคลาวด์

แยกข้อมูลจาก PDF โดยใช้ไฟล์เทมเพลตที่ใช้ JSON

เราสามารถแยกวิเคราะห์เอกสาร PDF และแยกข้อมูลโดยใช้ไฟล์เทมเพลตที่ใช้ JSON โดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของ ParseApi
  2. ระบุเส้นทางไฟล์ PDF ที่อัปโหลด
  3. กำหนดเส้นทางไปยังไฟล์เทมเพลต JSON
  4. สุดท้าย แยกวิเคราะห์เอกสารและแยกข้อมูล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีดึงข้อมูลตามเทมเพลตที่ระบุในไฟล์ JSON โดยใช้ REST API

// ตัวอย่างโค้ดนี้สาธิตวิธีแยกวิเคราะห์เอกสาร PDF โดยเทมเพลตที่ใช้ JSON
// สร้างอินสแตนซ์ของ API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// เส้นทางไฟล์อินพุต
let fileInfo = new groupdocs_parser_cloud.FileInfo()
fileInfo.filePath = "companies.pdf"

// สร้างตัวเลือกการแยกวิเคราะห์
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
options.templatePath = "template.json";

// สร้างคำขอแยกวิเคราะห์
let request = new groupdocs_parser_cloud.ParseRequest(options);

// แยกวิเคราะห์เอกสาร
let response = await parseApi.parse(request);

// แสดงผล
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);
    });
  }
});

โปรดดูเทมเพลตด้านล่างในรูปแบบ 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
          }
        }
      }
    }
  ]
}

แยกข้อมูลโดยใช้วัตถุแม่แบบใน Node.js

เราสามารถดึงข้อมูลจากไฟล์ PDF ตามเทมเพลตที่กำหนดเป็นวัตถุโดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของ ParseApi
  2. ระบุเส้นทางไฟล์ PDF ที่อัปโหลด
  3. เริ่มต้นเทมเพลตเป็นวัตถุ
  4. สุดท้าย แยกวิเคราะห์เอกสารและแยกข้อมูล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกข้อมูลตามเทมเพลตที่กำหนดจากเอกสาร PDF โดยใช้ REST API โปรดทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้เพื่ออัปโหลดไฟล์

// ตัวอย่างรหัสนี้สาธิตวิธีการแยกวิเคราะห์เอกสาร PDF โดยวัตถุแม่แบบ
// การเริ่มต้น API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// ไฟล์อินพุต
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "companies.pdf";

// กำหนดตัวเลือกการแยกวิเคราะห์
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;

// รับวัตถุเทมเพลต
options.template = GetTemplate();

// สร้างคำขอแยกวิเคราะห์
let request = new groupdocs_parser_cloud.ParseRequest(options);
// พาสเอกสาร
let result = await parseApi.parse(request);

// แสดงผล
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);
    });
  }
});

โปรดดูวัตถุเทมเพลตด้านล่างที่สร้างขึ้นตามเอกสาร PDF สำหรับการคัดลอกข้อมูลจาก pdf

// ตัวอย่างรหัสนี้แสดงให้เห็นถึงวัตถุแม่แบบ
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;
แยกข้อมูลโดยใช้วัตถุแม่แบบใน Node.js

แยกข้อมูลโดยใช้วัตถุแม่แบบใน Node.js

แยกเอกสารภายในคอนเทนเนอร์โดยใช้เทมเพลตใน Node.js

เรายังสามารถแยกวิเคราะห์เอกสาร PDF ที่มีอยู่ในคอนเทนเนอร์และแยกข้อมูลโดยใช้วัตถุเทมเพลต โปรดทำตามขั้นตอนด้านล่างเพื่อแยกวิเคราะห์เอกสารเพื่อแยกข้อมูลจากไฟล์ PDF ที่สแกนภายในคอนเทนเนอร์

  1. สร้างอินสแตนซ์ของ ParseApi
  2. ระบุเส้นทางไฟล์เก็บถาวรที่อัปโหลด
  3. เริ่มต้นเทมเพลตเป็นวัตถุ
  4. ระบุรายการคอนเทนเนอร์
  5. สุดท้าย แยกวิเคราะห์เอกสารและแยกข้อมูล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกวิเคราะห์เอกสาร PDF ภายในไฟล์ ZIP โดยใช้ REST API โปรดทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้เพื่ออัปโหลดไฟล์และแยกข้อมูลจาก pdf

// ตัวอย่างโค้ดนี้สาธิตวิธีการแยกวิเคราะห์เอกสาร PDF ที่มีอยู่ภายในคอนเทนเนอร์
// การเริ่มต้น API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// เส้นทางไฟล์อินพุต
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "archive.zip";

// สร้างตัวเลือกการแยกวิเคราะห์
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;

// รับวัตถุเทมเพลต
options.template = GetTemplate();

// ข้อมูลรายการคอนเทนเนอร์
let containerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerItemInfo.relativePath = "companies.pdf";
options.containerItemInfo = containerItemInfo;

// สร้างคำขอแยกวิเคราะห์
let request = new groupdocs_parser_cloud.ParseRequest(options);

// สร้างคำขอ
let response = await parseApi.parse(request);

// แสดงผล
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);
    });
  }
});

ลองออนไลน์

โปรดลองใช้เครื่องมือแยกวิเคราะห์ PDF ออนไลน์ต่อไปนี้ฟรีสำหรับการดึงข้อมูล PDF ทางออนไลน์ ตัวแยกเนื้อหา pdf นี้ได้รับการพัฒนาโดยใช้ API ด้านบน https://products.groupdocs.app/parser/pdf

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีดึงข้อมูลเฉพาะจากเอกสาร PDF ตามเทมเพลตที่มีให้บนคลาวด์ นอกจากนี้ เรายังได้ดูวิธีสร้างวัตถุเทมเพลตหรือใช้เทมเพลตในรูปแบบ JSON ตอนนี้คุณรู้วิธีดึงข้อมูลจาก pdf โดยใช้ pdf scraper API และตัวแยกข้อมูล PDF ฟรี นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Parser Cloud API โดยใช้ เอกสารประกอบ นอกจากนี้ เรายังมีส่วน การอ้างอิง API ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย