Set Barcode Source
Contents
[
Hide
]
To perform barcode recognition using the Aspose.BarCode.Cloud SDK for Node.js, you need to set the source of the barcode image. Methods of this SDK support loading barcode images from multiple sources, such as file URL, RequestFile, and base64 encoded data. This guide provides detailed examples on how to set barcode image source through different API methods.
Supported Barcode Image Formats
- JPEG
- TIFF
- PNG
- BMP
- GIF
Supported Barcode Source Formats
- File URL: Link directly to an image URL.
- RequestFile: Custome type represented multipart request file.
- Base64 Encoded Image: Convert the image to a base64 encoded string for secure transfer.
Examples for ScanApi
- Using GET Request with File URL
const fs = require('fs');
const path = require('path');
const Barcode = require('aspose-barcode-cloud-node');
function makeConfiguration() {
const envToken = process.env['TEST_CONFIGURATION_ACCESS_TOKEN'];
if (!envToken) {
return new Barcode.Configuration(
'Client Id from https://dashboard.aspose.cloud/applications',
'Client Secret from https://dashboard.aspose.cloud/applications',
null,
null
);
} else {
return new Barcode.Configuration(
null,
null,
null,
envToken
);
}
}
async function scanBarcode(api, fileUrl) {
const request = new Barcode.ScanRequestWrapper(fileUrl);
const result = await api.scan(request);
return result.body.barcodes;
}
const config = makeConfiguration();
const scanApi = new Barcode.ScanApi(config);
const fileUrl = "https://products.aspose.app/barcode/scan/img/how-to/scan/step2.png";
scanBarcode(scanApi, fileUrl)
.then(barcodes => {
console.log(`File recognized, result: '${barcodes[0].barcodeValue}'`);
})
.catch(err => {
console.error("Error: " + JSON.stringify(err, null, 2));
process.exitCode = 1;
});
- Using POST Request with Base64 Encoded Image
const fs = require('fs');
const path = require('path');
const Barcode = require('aspose-barcode-cloud-node');
function makeConfiguration() {
const envToken = process.env['TEST_CONFIGURATION_ACCESS_TOKEN'];
if (!envToken) {
return new Barcode.Configuration(
'Client Id from https://dashboard.aspose.cloud/applications',
'Client Secret from https://dashboard.aspose.cloud/applications',
null,
null
);
} else {
return new Barcode.Configuration(
null,
null,
null,
envToken
);
}
}
async function scanBarcode(api, fileName) {
const imageBytes = fs.readFileSync(fileName);
const imageBase64 = Buffer.from(imageBytes).toString('base64');
const base64Request = new Barcode.ScanBase64Request();
base64Request.fileBase64 = imageBase64;
const request = new Barcode.ScanBase64RequestWrapper(base64Request);
const result = await api.scanBase64(request);
return result.body.barcodes;
}
const scanApi = new Barcode.ScanApi(makeConfiguration());
const fileName = path.resolve('testdata','Qr.png');
scanBarcode(scanApi, fileName)
.then(barcodes => {
console.log(`File '${fileName}' recognized, result: '${barcodes[0].barcodeValue}'`);
})
.catch(err => {
console.error("Error: " + JSON.stringify(err, null, 2));
process.exitCode = 1;
});
- Using POST Request with File Stream
const fs = require('fs');
const path = require('path');
const Barcode = require('aspose-barcode-cloud-node');
function makeConfiguration() {
const token = process.env['TEST_CONFIGURATION_ACCESS_TOKEN'];
if (!token) {
return new Barcode.Configuration(
'Client Id from https://dashboard.aspose.cloud/applications',
'Client Secret from https://dashboard.aspose.cloud/applications'
);
} else {
return new Barcode.Configuration(undefined, undefined, undefined, token);
}
}
async function scanBarcode(api, fileName) {
const imageBuffer = fs.readFileSync(fileName);
const scanRequest = new Barcode.ScanMultipartRequestWrapper(imageBuffer);
const result = await api.scanMultipart(scanRequest);
return result.body.barcodes;
}
const config = makeConfiguration();
const scanApi = new Barcode.ScanApi(config);
const fileName = path.resolve('testdata','Qr.png');
scanBarcode(scanApi, fileName)
.then(barcodes => {
console.log(`File '${fileName}' recognized, result: '${barcodes[0].barcodeValue}'`);
})
.catch(err => {
console.error("Error: " + JSON.stringify(err, null, 2));
process.exitCode = 1;
});
Examples for RecognizeApi
- Using GET Request with File URL
const fs = require('fs');
const path = require('path');
const Barcode = require('aspose-barcode-cloud-node');
function makeConfiguration() {
const envToken = process.env['TEST_CONFIGURATION_ACCESS_TOKEN'];
if (!envToken) {
return new Barcode.Configuration(
'Client Id from https://dashboard.aspose.cloud/applications',
'Client Secret from https://dashboard.aspose.cloud/applications',
null,
null
);
} else {
return new Barcode.Configuration(
null,
null,
null,
envToken
);
}
}
const config = makeConfiguration();
async function recognizeBarcode(api, fileUrl) {
const RecognizeRequestWrapper = new Barcode.RecognizeRequestWrapper(
Barcode.DecodeBarcodeType.Qr,
fileUrl
);
const result = await api.recognize(RecognizeRequestWrapper);
return result.body.barcodes;
}
const recognizeApi = new Barcode.RecognizeApi(config);
const fileUrl = 'https://products.aspose.app/barcode/scan/img/how-to/scan/step2.png';
recognizeBarcode(recognizeApi, fileUrl)
.then(barcodes => {
console.log(`File recognized, result: '${barcodes[0].barcodeValue}'`);
})
.catch(err => {
console.error("Error: " + JSON.stringify(err, null, 2));
process.exitCode = 1;
});
- Using POST Request with Base64 Encoded Image
const fs = require('fs');
const path = require('path');
const Barcode = require('aspose-barcode-cloud-node');
function makeConfiguration() {
const envToken = process.env['TEST_CONFIGURATION_ACCESS_TOKEN'];
if (!envToken) {
return new Barcode.Configuration(
'Client Id from https://dashboard.aspose.cloud/applications',
'Client Secret from https://dashboard.aspose.cloud/applications'
);
} else {
return new Barcode.Configuration(null, null, null, envToken);
}
}
async function recognizeBarcode(api, fileName) {
const imageBytes = fs.readFileSync(fileName);
const imageBase64 = Buffer.from(imageBytes).toString('base64');
const recognizeBase64Request = new Barcode.RecognizeBase64Request();
recognizeBase64Request.barcodeTypes = [Barcode.DecodeBarcodeType.Pdf417];
recognizeBase64Request.fileBase64 = imageBase64;
const RecognizeRequestWrapper = new Barcode.RecognizeBase64RequestWrapper(recognizeBase64Request);
const result = await api.recognizeBase64(RecognizeRequestWrapper);
return result.body.barcodes;
}
const config = makeConfiguration();
const recognizeApi = new Barcode.RecognizeApi(config);
const fileName = path.resolve('testdata','Pdf417.png');
recognizeBarcode(recognizeApi, fileName)
.then(barcodes => {
console.log(`File '${fileName}' recognized, result: '${barcodes[0].barcodeValue}'`);
})
.catch(err => {
console.error("Error: " + JSON.stringify(err, null, 2));
process.exitCode = 1;
});
- Using POST Request with File Stream
const fs = require('fs');
const path = require('path');
const Barcode = require('aspose-barcode-cloud-node');
function makeConfiguration() {
const envToken = process.env['TEST_CONFIGURATION_ACCESS_TOKEN'];
if (!envToken) {
return new Barcode.Configuration(
'Client Id from https://dashboard.aspose.cloud/applications',
'Client Secret from https://dashboard.aspose.cloud/applications',
null,
null
);
} else {
return new Barcode.Configuration(
null,
null,
null,
envToken
);
}
}
const config = makeConfiguration();
async function recognizeBarcode(api, fileName) {
const imageBuffer = fs.readFileSync(fileName);
const RecognizeRequestWrapper = new Barcode.RecognizeMultipartRequestWrapper(
Barcode.DecodeBarcodeType.Qr,
imageBuffer
);
const result = await api.recognizeMultipart(RecognizeRequestWrapper);
return result.body.barcodes;
}
const recognizeApi = new Barcode.RecognizeApi(config);
const fileName = path.resolve('testdata','Qr.png');
recognizeBarcode(recognizeApi, fileName)
.then(barcodes => {
console.log(`File '${fileName}' recognized, result: '${barcodes[0].barcodeValue}'`);
})
.catch(err => {
console.error("Error: " + JSON.stringify(err, null, 2));
process.exitCode = 1;
});
Conclusion
Using the Aspose.BarCode.Cloud SDK for .NET, you can easily load and recognize barcode images in file URL, RequestFile, and base64 encoded formats.
Optimize your barcode recognition workflows by selecting the most appropriate method based on your specific image format and application requirements.