Cordova Gallery scan
The SDK allows you to decode barcodes from image files. It supports several image formats, including BMP, PNG, and JPG.
To utilize this feature, you must provide a base64 encoded string as input:
Barkoder.scanImage(base64string, (data: any) => {
const barkoderResult = new BarkoderResult(data);
if (barkoderResult) {
// handle result
}
}, (err: any) => {
console.error("Error scanning image:", err);
});
Here is an example of how you can access the photo library on your device and select and scan images from within the library
scanImage() {
// Create an input element to open the photo picker
const input = document.createElement('input');
input.type = 'file';
input.accept = 'image/*';
input.onchange = (event: any) => {
const file = event.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = () => {
const base64string = (reader.result as string).split(',')[1]; // Extract Base64 part
Barkoder.scanImage(base64string, (data: any) => {
const barkoderResult = new BarkoderResult(data);
if (barkoderResult) {
// handle result
}
}, (err: any) => {
console.error("Error scanning image:", err);
});
};
reader.onerror = () => {
console.error("Error reading file");
};
// Start reading the file as Base64
reader.readAsDataURL(file);
} else {
console.error("No file selected");
}
};
// Trigger the photo picker dialog
input.click();
}