Read Barcode From File (Node.js) - Async Api - JavaScript
Barcode Reader sample in JavaScript demonstrating ‘Read Barcode From File (Node.js) - Async Api’
app.js
/*jshint esversion: 6 */
var https = require("https");
var fs = require("fs");
// `request` module is required for file upload.
// Use "npm install request" command to install.
var request = require("request");
// The authentication key (API Key).
// Get your own by registering at https://app.pdf.co
const API_KEY = "******************************";
// Source file name
const SourceFile = "./sample.pdf";
// Comma-separated list of barcode types to search.
// See valid barcode types in the documentation https://apidocs.pdf.co
const BarcodeTypes = "Code128,Code39,Interleaved2of5,EAN13";
// Comma-separated list of page indices (or ranges) to process. Leave empty for all pages. Example: '0,2-5,7-'.
const Pages = "";
// Prepare request uri for `Barcode Reader` API endpoint
var query = `https://api.pdf.co/v1/barcode/read/from/url`;
let reqOptions = {
uri: query,
headers: { "x-api-key": API_KEY },
formData: {
types: BarcodeTypes,
pages: Pages,
async: 'True',
file: fs.createReadStream(SourceFile)
}
};
// Send request
request.post(reqOptions, function (error, response, body) {
if (error) {
return console.error("Error: ", error);
}
// Parse JSON response
let data = JSON.parse(body);
console.log(`Job #${data.jobId} has been created!`);
checkIfJobIsCompleted(data.jobId, data.url);
});
function checkIfJobIsCompleted(jobId, resultFileUrlJson) {
let queryPath = `/v1/job/check?jobid=${jobId}`;
let reqOptions = {
host: "api.pdf.co",
path: encodeURI(queryPath),
method: "GET",
headers: { "x-api-key": API_KEY }
};
https.get(reqOptions, (response) => {
response.on("data", (d) => {
response.setEncoding("utf8");
// Parse JSON response
let data = JSON.parse(d);
console.log(`Checking Job #${jobId}, Status: ${data.status}, Time: ${new Date().toLocaleString()}`);
if (data.status == "working") {
// Check again after 3 seconds
setTimeout(function(){ checkIfJobIsCompleted(jobId, resultFileUrlJson);}, 3000);
}
else if (data.status == "success") {
request({ method: 'GET', uri: resultFileUrlJson, gzip: true },
function (error, response, body) {
// Parse JSON response
let respJsonFileArray = JSON.parse(body);
respJsonFileArray.forEach((element) => {
console.log("Found barcode:");
console.log(" Type: " + element["TypeName"]);
console.log(" Value: " + element["Value"]);
console.log(" Document Page Index: " + element["Page"]);
console.log(" Rectangle: " + element["Rect"]);
console.log(" Confidence: " + element["Confidence"]);
console.log();
}, this);
});
}
else {
console.log(`Operation ended with status: "${data.status}".`);
}
})
});
}
PDF.co Web API: the Web API with a set of tools for documents manipulation, data conversion, data extraction, splitting and merging of documents. Includes image recognition, built-in OCR, barcode generation and barcode decoders to decode bar codes from scans, pictures and pdf.
Download Source Code (.zip)
return to the previous page explore Barcode Reader endpoint
Copyright © 2016 - 2023 PDF.co