استخراج البيانات من 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. كما يسمح بتحليل أنواع المستندات المدعومة واستخراج النصوص والصور وبيانات محددة باستخدام قالب. الرجاء تثبيته باستخدام الأمر التالي في وحدة التحكم:

npm install groupdocs-parser-cloud

يرجى الحصول على معرف العميل والسرية من لوحة التحكم قبل اتباع الخطوات المذكورة. بمجرد حصولك على المعرف والسر الخاص بك ، قم بإضافة الرمز كما هو موضح أدناه:

// يوضح مثال الرمز هذا كيفية إضافة معرّف العميل والسرية.
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.

// يوضح مثال الكود هذا كيفية تحليل مستند PDF بواسطة قالب يستند إلى JSON.
// إنشاء مثيل لواجهة برمجة التطبيقات
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. يرجى اتباع الخطوات المذكورة سابقاً لتحميل الملف.

// يوضح مثال التعليمات البرمجية هذا كيفية تحليل مستند 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. يرجى اتباع الخطوات المذكورة سابقًا لتحميل الملفات واستخراج المعلومات من ملف 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 هذا باستخدام واجهة برمجة التطبيقات المذكورة أعلاه. https://products.groupdocs.app/parser/pdf

خاتمة

في هذه المقالة ، تعلمنا كيفية استخراج بيانات محددة من مستندات PDF وفقًا للقالب المتوفر على السحابة ، كما رأينا كيفية إنشاء كائن قالب أو استخدام قالب بتنسيق JSON. أنت الآن تعرف كيفية استخراج المعلومات من pdf باستخدام pdf scraper API ومستخرج بيانات PDF المجاني. بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول GroupDocs.Parser Cloud API باستخدام التوثيق. نوفر أيضًا قسم مرجع واجهة برمجة التطبيقات الذي يتيح لك تصور واجهات برمجة التطبيقات الخاصة بنا والتفاعل معها مباشرةً من خلال المتصفح. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا