Node.js में REST API का उपयोग करके PDF से डेटा निकालें

Node.js में REST API का उपयोग करके PDF से डेटा निकालना

हम आसानी से पीडीएफ दस्तावेजों को पार्स कर सकते हैं और क्लाउड पर उपयोगकर्ता-परिभाषित टेम्पलेट का उपयोग करके विशिष्ट डेटा निकाल सकते हैं। हम पीडीएफ फाइलों से प्रोग्रामेटिक रूप से फील्ड और टेबल डेटा निकाल सकते हैं। इस लेख में, हम सीखेंगे कि Node.js में REST API का उपयोग करके PDF से डेटा कैसे निकाला जाता है।

इस लेख में निम्नलिखित विषयों को शामिल किया जाएगा:

पीडीएफ से डेटा निकालने के लिए रेस्ट एपीआई और नोड.जेएस एसडीके

PDF दस्तावेज़ों को पार्स करने और टेम्प्लेट के आधार पर डेटा निकालने के लिए, हम GroupDocs.Parser Cloud के Node.js SDK 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 आधारित टेम्पलेट फ़ाइल का उपयोग करके डेटा निकालें

हम नीचे दिए गए सरल चरणों का पालन करके टेम्पलेट का उपयोग करके पीडीएफ दस्तावेज़ों से डेटा निकाल सकते हैं:

दस्तावेज़ अपलोड करें

सबसे पहले, हम नीचे दिए गए कोड नमूने का उपयोग करके पीडीएफ को स्क्रैप करने के लिए पीडीएफ दस्तावेज़ को क्लाउड पर अपलोड करेंगे:

// यह कोड उदाहरण दर्शाता है कि क्लाउड पर पीडीएफ दस्तावेज़ कैसे अपलोड किया जाए।
// 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);
});

नतीजतन, अपलोड की गई पीडीएफ फाइल क्लाउड पर डैशबोर्ड के फाइल सेक्शन में उपलब्ध होगी।

JSON आधारित टेम्प्लेट फ़ाइल का उपयोग करके PDF से डेटा निकालें

हम नीचे दिए गए चरणों का पालन करके पीडीएफ दस्तावेज़ को पार्स कर सकते हैं और जेएसओएन-आधारित टेम्पलेट फ़ाइल का उपयोग करके डेटा निकाल सकते हैं:

  1. ParseApi का एक उदाहरण बनाएँ।
  2. अपलोड की गई PDF फ़ाइल का पथ प्रदान करें।
  3. टेम्पलेट JSON फ़ाइल का पथ सेट करें।
  4. अंत में, दस्तावेज़ को पार्स करें और डेटा निकालें।

निम्न कोड नमूना दिखाता है कि REST API का उपयोग करके JSON फ़ाइल में प्रदान किए गए टेम्पलेट के अनुसार डेटा कैसे निकाला जाए।

// यह कोड उदाहरण दर्शाता है कि JSON आधारित टेम्प्लेट द्वारा PDF दस्तावेज़ को कैसे पार्स किया जाए।
// एपीआई का एक उदाहरण बनाएँ
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
          }
        }
      }
    }
  ]
}

नोड.जेएस में टेम्पलेट ऑब्जेक्ट का उपयोग करके डेटा निकालें

हम नीचे दिए गए चरणों का पालन करके एक ऑब्जेक्ट के रूप में परिभाषित टेम्पलेट के आधार पर पीडीएफ फाइल से डेटा निकाल सकते हैं:

  1. ParseApi का एक उदाहरण बनाएँ।
  2. अपलोड की गई PDF फ़ाइल का पथ प्रदान करें।
  3. एक टेम्पलेट को एक वस्तु के रूप में प्रारंभ करें।
  4. अंत में, दस्तावेज़ को पार्स करें और डेटा निकालें।

निम्न कोड नमूना दिखाता है कि REST API का उपयोग करके PDF दस्तावेज़ से परिभाषित टेम्पलेट के अनुसार डेटा कैसे निकाला जाए। फ़ाइल अपलोड करने के लिए कृपया पहले बताए गए चरणों का पालन करें।

// यह कोड उदाहरण दर्शाता है कि टेम्प्लेट ऑब्जेक्ट द्वारा पीडीएफ दस्तावेज़ को कैसे पार्स किया जाए।
// एपीआई आरंभीकरण
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);
    });
  }
});

कृपया पीडीएफ से डेटा स्क्रैप करने के लिए पीडीएफ दस्तावेज़ के अनुसार बनाए गए टेम्पलेट ऑब्जेक्ट के नीचे देखें।

// यह कोड उदाहरण एक टेम्पलेट ऑब्जेक्ट प्रदर्शित करता है।
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;
नोड.जेएस में टेम्पलेट ऑब्जेक्ट का उपयोग करके डेटा निकालें

नोड.जेएस में टेम्पलेट ऑब्जेक्ट का उपयोग करके डेटा निकालें

नोड.जेएस में टेम्पलेट का उपयोग करके कंटेनर के अंदर दस्तावेज़ को पार्स करें

हम कंटेनर के अंदर उपलब्ध पीडीएफ दस्तावेज़ को पार्स भी कर सकते हैं और टेम्पलेट ऑब्जेक्ट का उपयोग करके डेटा निकाल सकते हैं। कंटेनर के अंदर स्कैन किए गए पीडीएफ़ से डेटा निकालने के लिए दस्तावेज़ को पार्स करने के लिए कृपया नीचे दिए गए चरणों का पालन करें।

  1. ParseApi का एक उदाहरण बनाएँ।
  2. अपलोड की गई संग्रह फ़ाइल पथ प्रदान करें।
  3. एक टेम्पलेट को एक वस्तु के रूप में प्रारंभ करें।
  4. कंटेनर आइटम प्रदान करें।
  5. अंत में, दस्तावेज़ को पार्स करें और डेटा निकालें।

निम्न कोड नमूना दिखाता है कि REST API का उपयोग करके ZIP संग्रह के अंदर PDF दस्तावेज़ को कैसे पार्स किया जाए। कृपया फाइलों को अपलोड करने और पीडीएफ से जानकारी निकालने के लिए पहले बताए गए चरणों का पालन करें।

// यह कोड उदाहरण दर्शाता है कि कंटेनर के अंदर उपलब्ध पीडीएफ दस्तावेज़ को कैसे पार्स किया जाए।
// एपीआई आरंभीकरण
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);
    });
  }
});

ऑनलाइन प्रयास करें

कृपया पीडीएफ डेटा निष्कर्षण ऑनलाइन के लिए निम्नलिखित मुफ्त ऑनलाइन पीडीएफ पार्सिंग टूल का प्रयास करें। यह पीडीएफ कंटेंट एक्सट्रैक्टर उपरोक्त एपीआई का उपयोग करके विकसित किया गया है। https://products.groupdocs.app/parser/pdf

निष्कर्ष

इस लेख में, हमने सीखा है कि क्लाउड पर दिए गए टेम्पलेट के अनुसार पीडीएफ दस्तावेज़ों से विशिष्ट डेटा कैसे निकाला जाता है। हमने यह भी देखा है कि टेम्पलेट ऑब्जेक्ट कैसे बनाएं या JSON प्रारूप में टेम्पलेट का उपयोग कैसे करें। अब आप जानते हैं कि पीडीएफ स्क्रैपर एपीआई और मुफ्त पीडीएफ डेटा एक्सट्रैक्टर का उपयोग करके पीडीएफ से जानकारी कैसे निकाली जाती है। इसके अलावा, आप दस्तावेज़ का उपयोग करके GroupDocs.Parser Cloud API के बारे में अधिक जान सकते हैं। हम एक एपीआई संदर्भ अनुभाग भी प्रदान करते हैं जो आपको सीधे ब्राउज़र के माध्यम से हमारे एपीआई के साथ कल्पना और बातचीत करने देता है। किसी भी अस्पष्टता के मामले में, कृपया बेझिझक हमसे फोरम पर संपर्क करें।

यह सभी देखें