استخراج داده ها از 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 of GroupDocs.Parser Cloud API استفاده خواهیم کرد. همچنین امکان تجزیه سایر انواع سند پشتیبانی شده و استخراج متن، تصاویر و داده‌های خاص را با استفاده از یک الگو فراهم می‌کند. لطفا با استفاده از دستور زیر در کنسول آن را نصب کنید:

npm install groupdocs-parser-cloud

لطفاً قبل از انجام مراحل ذکر شده [شناسه مشتری و راز خود را از داشبورد 4 دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:

// این مثال کد نحوه اضافه کردن شناسه مشتری و Secret خود را نشان می دهد.
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
          }
        }
      }
    }
  ]
}

استخراج داده ها با استفاده از Template Object در 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;
استخراج داده ها با استفاده از Template Object در Node.js

استخراج داده ها با استفاده از Template Object در Node.js

تجزیه و تحلیل سند داخل ظرف با استفاده از الگو در Node.js

همچنین می‌توانیم سند PDF موجود در ظرف را تجزیه و با استفاده از شی الگو، داده‌ها را استخراج کنیم. لطفاً مراحل ذکر شده در زیر را دنبال کنید تا سند را تجزیه کنید تا داده ها را از پی دی اف اسکن شده در داخل یک ظرف استخراج کنید.

  1. یک نمونه از ParseApi ایجاد کنید.
  2. مسیر فایل آرشیو آپلود شده را ارائه دهید.
  3. یک الگو را به عنوان یک شی راه اندازی کنید.
  4. اقلام ظرف را ارائه دهید.
  5. در نهایت سند را تجزیه کرده و داده ها را استخراج کنید.

نمونه کد زیر نحوه تجزیه یک سند PDF را در یک آرشیو ZIP با استفاده از REST API نشان می دهد. لطفاً برای آپلود فایل ها و استخراج اطلاعات از پی دی اف مراحل ذکر شده را دنبال کنید.

// این مثال کد نحوه تجزیه یک سند 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 را مشاهده کردیم. اکنون می دانید که چگونه با استفاده از API pdf scraper و استخراج کننده داده PDF رایگان، اطلاعات را از pdf استخراج کنید. علاوه بر این، می‌توانید با استفاده از مستندات درباره GroupDocs.Parser Cloud API اطلاعات بیشتری کسب کنید. ما همچنین یک بخش API Reference ارائه می دهیم که به شما امکان می دهد API های ما را مستقیماً از طریق مرورگر تجسم کنید و با آنها تعامل داشته باشید. در صورت وجود هر گونه ابهام، لطفاً با ما در [تالار] تماس بگیرید 10.

همچنین ببینید