Skip to main content

Scanning a barcode from an image | React Native Barcode Scanner

ScanbotBarcodeSDK.detectBarcodesOnImage(args: DetectBarcodesOnImageArgs): Promise<ResultWrapper<BarcodeScannerResult>>

This method provides the functionality of detecting barcodes from a still image, e.g. a JPG image from Photo Library or other source. The image must be passed as a file URI.

Arguments object:

interface DetectBarcodesOnImageArgs {
/**
* The input image file URI
*/
imageFileUri: string;
/**
* Accepted barcode formats
*/
barcodeFormats?: BarcodeFormat[];
/**
* An optional array of barcode document formats that act as a detection filter.
* By default all supported document formats will be detected.
*/
acceptedDocumentFormats?: BarcodeDocumentFormat[];
/**
* Barcode scanner engine mode. Default is NEXT_GEN
*/
engineMode?: EngineMode;
/**
* Optional minimum required text length of the detected barcode.
* The default is 0 (setting is turned off).
* NOTE: This feature works on ITF barcodes only.
*/
minimumTextLength?: number;
/**
* Optional maximum required text length of the detected barcode.
* The default is 0 (setting is turned off).
* NOTE: This feature works on ITF barcodes only.
*/
maximumTextLength?: number;
/**
* Optional minimum required quiet zone on the barcode.
* Measured in modules (the size of minimal bar on the barcode).
* The default is 10.
* NOTE: This feature works on ITF barcodes only.
*/
minimum1DBarcodesQuietZone?: number;
/** The GS1 handling mode. The default value is PARSE. */
gs1HandlingMode?: Gs1HandlingMode;
/**
* With this option enabled, the scanner removes checks digits for UPC, EAN and MSI Plessey codes.
* Has no effect if both single and double digit MSI Plessey checksums are enabled.
* The default is `false`
*/
stripCheckDigits?: boolean;
/**
* The checksum algorithm for MSI Plessey barcodes.
* The default value is Mod10.
*/
msiPlesseyChecksumAlgorithm?: MSIPlesseyChecksumAlgorithm;
/**
* If `true`, enabled the mode which slightly decreases the scanning quality and the energy consumption, and increases the scanning speed. If `false` - mode is disabled. The default is `false`. Android only.
* */
lowPowerMode?: boolean;
/**
* The expected density of QR codes in an image.
*/
codeDensity?: CodeDensity;
}

The returned object has the same type as the one returned by startBarcodeScanner.

Example:

try {
const result = await ScanbotBarcodeSDK.detectBarcodesOnImage({
imageFileUri: "file:///..."
});
if (result.status === "OK" && result.data?.barcodes) {
// do something with result.data.barcodes
}
} catch (e) {
// ...
}

Want to scan longer than one minute?

Generate your free "no-strings-attached" Trial License and properly test the Scanbot SDK.

Get your free Trial License

What do you think of this documentation?