Python API Reference

This page will explain all available methods and configuration settings of the barKoder Barcode Scanner SDK for Python.

Import the barKoder Barcode Scanner SDK for Python with

                from Barkoder import BarkoderSDK


            

Methods#

The API methods are available under the BarkoderSDK module (i.e. BarkoderSDK.methodName).

getLibVersion()#

Gets the SDK version.

Returns SDK version as str (Text Type).

Syntax:

                getLibVersion(): str
            

Usage example:

                version = BarkoderSDK.getLibVersion(); 
print("SDK version: ", version)
            

initialize(licenseKey)#

Initializes the SDK with a license key.

Parameters:

licenseKey: str

Returns licensing status as str (Text Type).

Syntax:

                initialize(licenseKey: str): str
            

Usage example:

                status = BarkoderSDK.initialize("LICENSE_KEY"); print("SDK status: ", status)
            

decodeImage(image, width, height)#

Scans grayscale array of image memory.

Parameters:

image: numpy.ndarray

width: int

height: int

Returns JSON result as str (Text Type) with the following fields:

                resultsCount: int
barcodeTypeName: str
textualData: str
binaryData: list where each element is an int
location: dict, containing
	p1: dict, containing
		 x: float
		 y: float
	p2: dict, containing
		 x: float
		 y: float
	p3: dict, containing
		 x: float
		 y: float
	p4: dict, containing
		 x: float
		 y: float
gs1: int
            

The resultsCount field determines the result structure.

resultsCount 0 means no results were found, and remaining fields will not be present.

resultsCount 1 means exactly one barcode result was found and above fields will be present.

resultsCount 2 or higher means multiple barcode results were found, and result fields are as follows:

                resultsCount: int
results: list, where each element is a dict with the following fields:
	barcodeTypeName: str
	textualData: str
	binaryData: list where each element is an int
	location: dict, containing
		p1: dict, containing
			 x: float
			 y: float
		p2: dict, containing
			 x: float
			 y: float
		p3: dict, containing
			 x: float
			 y: float
		p4: dict, containing
			 x: float
			 y: float
	gs1: int
            

Syntax:

                decodeImage(image: numpy.ndarray, width: int, height: int): str
            

Usage example:

                import json
import numpy as np
import cv2 as cv

img = cv.imread('qr.bmp', cv.IMREAD_GRAYSCALE)
assert img is not None, "file could not be read, check with os.path.exists()"

height, width = img.shape[:2]

result_json = BarkoderSDK.decodeImage(img, width, height)
result = json.loads(result_json)
            

setRegionOfInterest(left, top, width, height)#

Sets the ROI.

Parameters:

left: float

top: float

width: float

height: float

Returns NoneType (None Type).

Syntax:

                setRegionOfInterest(left: float, top: float, width: float, height: float): NoneType
            

Usage example:

                BarkoderSDK.setRegionOfInterest(0, 0, 100, 100);
            

getRegionOfInterest()#

Gets the ROI.

Returns str (Text Type).

Syntax:

                getRegionOfInterest(): str
            

Usage example:

                roi_json = BarkoderSDK.getRegionOfInterest(); 
roi = json.loads(roi_json)
            

setDecodingSpeed(decodingSpeed) #

Sets the decoding speed.

Parameters:

decodingSpeed: int

The values for this setting are available under BarkoderSDK.constants["DecodingSpeed"]

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

                setDecodingSpeed(decodingSpeed: int): int

            

Usage example:

                decodingSpeed = BarkoderSDK.constants["DecodingSpeed"]["Slow"];
BarkoderSDK.setDecodingSpeed(decodingSpeed);

            

setEnabledDecoders(decoders, numberOfDecoders) #

Sets the decoders to enable.

Parameters:

decoders: list, where each element has a value from BarkoderSDK.constants["Decoders"]

numberOfDecoders: int, the len of the above list

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

                setEnabledDecoders(decoders: int, numberOfDecoders: int): int

            

Usage example:

                decoders = BarkoderSDK.constants["Decoders"];
QR = decoders["QR"];
PDF417 = decoders["PDF417"];
Code128 = decoders["Code128"];
Datamatrix = decoders["Datamatrix"];
Code93 = decoders["Code93"];
Code39 = decoders["Code39"];
#set desired decoders
decoders = [QR, PDF417, Code128, Datamatrix, Code93, Code39];
total_decoders = len(decoders);
BarkoderSDK.setEnabledDecoders(decoders, total_decoders);

            

setUpcEanDeblur(upcEanDeblur) #

Sets the deblur for UPC and EAN codes.

Parameters:

upcEanDeblur: int

The values for this setting are available under BarkoderSDK.constants["UpcEanDeblur"]

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

                setUpcEanDeblur(upcEanDeblur: int): int

            

Usage example:

                upcEanDeblur = BarkoderSDK.constants["UpcEanDeblur"]["Enable"];
BarkoderSDK.setUpcEanDeblur(upcEanDeblur);

            

setLengthRange(decoder, minimumLength, maximumLength) #

Sets the length range for 1D codes.

Parameters:

decoder: int, a value from BarkoderSDK.constants["Decoders"]

minimumLength: int

maximumLength: int

Returns int (Numeric Type).

Syntax:

                setLengthRange(decoder: int, minimumLength: int, maximumLength: int): int

            

Usage example:

                decoder = BarkoderSDK.constants["Decoders"]["Code39"];
BarkoderSDK.setLengthRange(decoder, 5, 50);

            

setFormatting(formatting) #

Sets the formatting of the result.

Parameters:

formatting: int

The values for this setting are available under BarkoderSDK.constants["Formatting"]

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

                setFormatting(formatting: int): int

            

Usage example:

                formatting = BarkoderSDK.constants["Formatting"]["AAMVA"];
BarkoderSDK.setFormatting(formatting);

            

setDuplicatesDelayMs(duplicatesDelayMs) #

Sets the the delay between duplicate codes in ms.

Parameters:

duplicatesDelayMs: int

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax::

                setDuplicatesDelayMs(duplicatesDelayMs: int): int

            

Usage example:

                BarkoderSDK.setDuplicatesDelayMs(1000);

            

setMaximumResultsCount(maximumResultsCount) #

Sets the maximum results returned.

Parameters:

maximumResultsCount: int

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

setMaximumResultsCount(maximumResultsCount: int): int

Usage example:

                BarkoderSDK.setMaximumResultsCount(10);

            

setMulticodeCachingEnabled(multicodeCachingEnabled) #

Sets multicode caching.

Parameters:

multicodeCachingEnabled: int, accepts 0 (disable) and 1 (enable)

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

setMulticodeCachingEnabled(multicodeCachingEnabled: int): int

Usage example:

                BarkoderSDK.setMulticodeCachingEnabled(1);

            

setMulticodeCachingDuration(multicodeCachingDuration) #

Sets multicode caching duration. Note: this setting typically is beneficial if scanning from a live camera stream.

Parameters:

multicodeCachingDuration: int

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

                setMulticodeCachingDuration(multicodeCachingDuration: int): int

            

Usage example:

                BarkoderSDK.setMulticodeCachingDuration(3000);

            

setEnableMisshaped1D(enableMisshaped1D) #

Sets detection of misshaped 1D codes.

Parameters:

enableMisshaped1D: int

The values for this setting are available under BarkoderSDK.constants["EnableMisshaped1D"]

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

                setEnableMisshaped1D(enableMisshaped1D: int): int

            

Usage example:

                enableMisshaped1D = BarkoderSDK.constants["EnableMisshaped1D"]["Enable"];
BarkoderSDK.setEnableMisshaped1D(enableMisshaped1D);

            

setEnableVINRestrictions(enableVINRestrictions) #

Sets VIN Restrictions.

Parameters:

enableVINRestrictions: int

The values for this setting are available under BarkoderSDK.constants["EnableVINRestrictions"]

Returns int (Numeric Type).

A value of 0 if OK, a value of -1 otherwise (argument was not good and nothing was done).

Syntax:

                setEnableVINRestrictions(enableVINRestrictions: int): int

            

Usage example:

                enableVINRestrictions = BarkoderSDK.constants["EnableVINRestrictions"]["Enable"];
BarkoderSDK.setEnableVINRestrictions(enableVINRestrictions);

            

setSpecificConfig(decoder, value) #

Sets a specific decoder config.

Parameters:

decoder: int, a value from BarkoderSDK.constants["Decoders"]

value: int, a flag value specific for the decoder

Returns int (Numeric Type).

Syntax:

setSpecificConfig(decoder: int, value: int): int

Usage example:

                decoder = BarkoderSDK.constants["Decoders"]["Msi"];
msiChecksumType = BarkoderSDK.constants["MsiChecksumType"]["mod1010"];
BarkoderSDK.setSpecificConfig(decoder, msiChecksumType);

            

Note: there are shorthand methods for setting specific configs for certain decoders (will be listed below). The above example for setting MSI checksum type can alternatively be done with:

                msiChecksumType = BarkoderSDK.constants["MsiChecksumType"]["mod1010"];
BarkoderSDK.setMsiChecksumType(msiChecksumType);

            

setCode11ChecksumType(code11ChecksumType) #

Sets Code11 checksum type.

Parameters:

code11ChecksumType: int, a value from BarkoderSDK.constants["Code11ChecksumType"]

Returns NoneType (None Type).

Syntax:

                setCode11ChecksumType(code11ChecksumType: int): NoneType

            

Usage example:

                code11ChecksumType = BarkoderSDK.constants["Code11ChecksumType"]["single"];
BarkoderSDK.setCode11ChecksumType(code11ChecksumType);

            

setCode39ChecksumType(code39ChecksumType) #

Sets Code39 checksum type.

Parameters:

code39ChecksumType: int, a value from BarkoderSDK.constants["Code39ChecksumType"]

Returns NoneType (None Type).

Syntax:

                setCode39ChecksumType(code39ChecksumType: int): NoneType

            

Usage example:

                code39ChecksumType = BarkoderSDK.constants["Code39ChecksumType"]["enabled"];
BarkoderSDK.setCode39ChecksumType(code39ChecksumType);

            

setMsiChecksumType(msiChecksumType) #

Sets MSI checksum type.

Parameters:

msiChecksumType: int, a value from BarkoderSDK.constants["MsiChecksumType"]

Returns NoneType (None Type).

Syntax:

                setMsiChecksumType(msiChecksumType: int): NoneType

            

Usage example:

                msiChecksumType = BarkoderSDK.constants["MsiChecksumType"]["mod1010"];
BarkoderSDK.setMsiChecksumType(msiChecksumType);

            

setDatamatrixDpmModeEnabled(dpmModeEnabled) #

Sets DPM mode.

Parameters:

dpmModeEnabled: bool

Returns NoneType (None Type).

Syntax:

                setDatamatrixDpmModeEnabled(dpmModeEnabled: bool): NoneType

            

Usage example:

                BarkoderSDK.setDatamatrixDpmModeEnabled(true);
            

getDecodingSpeed() #

Gets the decoding speed.

Returns decoding speed as int (Numeric Type).

Syntax:

                getDecodingSpeed(): int

            

Usage example:

                decodingSpeed = BarkoderSDK.getDecodingSpeed();
print("decodingSpeed: ", decodingSpeed)

            

Note: numerical value for decodingSpeed can be matched with corresponding key from BarkoderSDK.constants["DecodingSpeed"] for textual representation.


getUpcEanDeblur() #

Gets the deblur for UPC and EAN codes.

Returns deblur as int (Numeric Type).

Syntax:

                getUpcEanDeblur(): int

            

Usage example:

                upcEanDeblur = BarkoderSDK.getUpcEanDeblur();
print("upcEanDeblur: ", upcEanDeblur)

            

Note: numerical value for upcEanDeblur can be matched with corresponding key from BarkoderSDK.constants["UpcEanDeblur"] for textual representation.


getFormatting() #

Gets the formatting.

Returns formatting as int (Numeric Type).

Syntax:

                getFormatting(): int

            

Usage example:

                formatting = BarkoderSDK.getFormatting();
print("formatting: ", formatting)

            

Note: numerical value for formatting can be matched with corresponding key from BarkoderSDK.constants["Formatting"] for textual representation.


getDuplicatesDelayMs() #

Gets the duplicates delay in ms.

Returns delay as int (Numeric Type).

Syntax:

                getDuplicatesDelayMs(): int

            

Usage example:

                duplicatesDelayMs = BarkoderSDK.getDuplicatesDelayMs();
print("duplicatesDelayMs: ", duplicatesDelayMs)

            

getMaximumResultsCount() #

Gets the maximum results count.

Returns maximum results count as int (Numeric Type).

Syntax:

                getMaximumResultsCount(): int

            

Usage example:

                maximumResultsCount = BarkoderSDK.getMaximumResultsCount();
print("maximumResultsCount: ", maximumResultsCount)

            

getEnableMisshaped1D() #

Gets the misshaped 1D enabled state.

Returns enableMisshaped1D setting as int (Numeric Type).

Syntax:

                getEnableMisshaped1D(): int

            

Usage example:

                enableMisshaped1D = BarkoderSDK.getEnableMisshaped1D();
print("enableMisshaped1D: ", enableMisshaped1D)

            

Note: numerical value for enableMisshaped1D can be matched with corresponding key from BarkoderSDK.constants["EnableMisshaped1D"] for textual representation.


getEnableVINRestrictions() #

Gets the VIN restrictions enabled state.

Returns enableVINRestrictions setting as int (Numeric Type).

Syntax:

                getEnableVINRestrictions(): int

            

Usage example:

                enableVINRestrictions = BarkoderSDK.getEnableVINRestrictions();
print("enableVINRestrictions: ", enableVINRestrictions)

            

Note: numerical value for enableVINRestrictions can be matched with corresponding key from BarkoderSDK.constants["EnableVINRestrictions"] for textual representation.


Constants #

The SDK constants are available under the BarkoderSDK module (i.e. BarkoderSDK.constants).


DecodingSpeed #

  • "Fast": int(0)
  • "Normal": int(1)
  • "Slow": int(2)
  • "Rigorous": int(3)

Note: "Rigorous" / int(3) is quite demanding on the device hardware - it may find more results, but will also take longer to do so. It is only recommended when scanning from an image.

Usage example:

                decodingSpeed = BarkoderSDK.constants["DecodingSpeed"]["Slow"];
BarkoderSDK.setDecodingSpeed(decodingSpeed);

            

Decoders #

  • "Aztec": int(0)
  • "AztecCompact": int(1)
  • "QR": int(2)
  • "QRMicro": int(3)
  • "Code128": int(4)
  • "Code93": int(5)
  • "Code39": int(6)
  • "Codabar": int(7)
  • "Code11": int(8)
  • "Msi": int(9)
  • "UpcA": int(10)
  • "UpcE": int(11)
  • "UpcE1": int(12)
  • "Ean13": int(13)
  • "Ean8": int(14)
  • "PDF417": int(15)
  • "PDF417Micro": int(16)
  • "Datamatrix": int(17)
  • "Code25": int(18)
  • "Interleaved25": int(19)
  • "ITF14": int(20)
  • "IATA25": int(21)
  • "Matrix25": int(22)
  • "Datalogic25": int(23)
  • "COOP25": int(24)
  • "Code32": int(25)
  • "Telepen": int(26)
  • "Dotcode": int(27)

Usage example:

                decoders = BarkoderSDK.constants["Decoders"];
QR = decoders["QR"];
PDF417 = decoders["PDF417"];
Code128 = decoders["Code128"];
Datamatrix = decoders["Datamatrix"];
Code93 = decoders["Code93"];
Code39 = decoders["Code39"];

            
                #set desired decoders
decoders = [QR, PDF417, Code128, Datamatrix, Code93, Code39];
total_decoders = len(decoders);
BarkoderSDK.setEnabledDecoders(decoders, total_decoders);

            

Code11ChecksumType #

  • "disabled": int(0)
  • "single": int(1)
  • "double": int(2)

Usage example:

code11ChecksumType = BarkoderSDK.constants["Code11ChecksumType"]["single"]; BarkoderSDK.setCode11ChecksumType(code11ChecksumType);


Code39ChecksumType #

  • "disabled": int(0)
  • "enabled": int(1)

Usage example:

                code39ChecksumType = BarkoderSDK.constants["Code39ChecksumType"]["enabled"];
BarkoderSDK.setCode39ChecksumType(code11ChecksumType);

            

MsiChecksumType #

  • "disabled": int(0)
  • "mod10": int(1)
  • "mod11": int(2)
  • "mod1010": int(3)
  • "mod1110": int(4)
  • "mod11IBM": int(5)
  • "mod1110IBM": int(6)

Usage example:

                msiChecksumType = BarkoderSDK.constants["MsiChecksumType"]["mod1010"];
BarkoderSDK.setMsiChecksumType(msiChecksumType);

            

UpcEanDeblur #

  • "Disable": int(0)
  • "Enable": int(1)

Usage example:

                upcEanDeblur = BarkoderSDK.constants["UpcEanDeblur"]["Enable"];
BarkoderSDK.setUpcEanDeblur(upcEanDeblur);

            

MulticodeCachingEnabled #

  • "Disable": int(0)
  • "Enable": int(1)

Usage example:

                multicodeCachingEnabled = BarkoderSDK.constants["MulticodeCachingEnabled"]["Enable"];
BarkoderSDK.setMulticodeCachingEnabled(multicodeCachingEnabled);

            

EnableMisshaped1D #

  • "Disable": int(0)
  • "Enable": int(1)

Usage example:

enableMisshaped1D = BarkoderSDK.constants["EnableMisshaped1D"]["Enable"]; BarkoderSDK.setEnableMisshaped1D(enableMisshaped1D);


EnableVINRestrictions #

  • "Disable": int(0)
  • "Enable": int(1)

Usage example:

                enableVINRestrictions = BarkoderSDK.constants["EnableVINRestrictions"]["Enable"];
BarkoderSDK.setEnableVINRestrictions(enableVINRestrictions);

            

Formatting

  • "Disabled": int(0)
  • "Automatic": int(1)
  • "GS1": int(2)
  • "AAMVA": int(3)

Usage example:

                formatting = BarkoderSDK.constants["Formatting"]["AAMVA"];
BarkoderSDK.setFormatting(formatting);

            

Page Contents

History:

close

Version #767

Published: 11/15/2024 10:50:38

Created On: 11/15/2024 10:50:38

Modified By: Vangel Ivanov

Published Version

Version #749

Was Published: 11/14/2024 17:14:01

Created On: 11/14/2024 17:14:01

Modified By: Vladimir Lazarevski

Version #748

Was Published: 11/14/2024 17:01:14

Created On: 11/14/2024 17:01:14

Modified By: Vladimir Lazarevski

Version #747

Was Published: 11/14/2024 16:57:11

Created On: 11/14/2024 16:57:11

Modified By: Vladimir Lazarevski

Version #746

Was Published: 11/14/2024 16:00:21

Created On: 11/14/2024 16:00:21

Modified By: Vladimir Lazarevski

Version #739

Was Published: 11/14/2024 15:21:46

Created On: 11/14/2024 15:21:46

Modified By: Vladimir Lazarevski

Version #738

Was Published: 11/14/2024 15:08:22

Created On: 11/14/2024 15:08:22

Modified By: Vladimir Lazarevski

Version #737

Was Published: 11/14/2024 14:37:04

Created On: 11/14/2024 14:37:04

Modified By: Vladimir Lazarevski

Version #736

Was Published: 11/14/2024 14:34:39

Created On: 11/14/2024 14:34:39

Modified By: Vladimir Lazarevski

Version #735

Was Published: 11/14/2024 14:20:56

Created On: 11/14/2024 14:20:56

Modified By: Vladimir Lazarevski

Version #734

Was Published: 11/14/2024 14:19:39

Created On: 11/14/2024 14:19:39

Modified By: Vladimir Lazarevski

Version #733

Was Published: 11/14/2024 14:18:09

Created On: 11/14/2024 14:18:09

Modified By: Vladimir Lazarevski

Version #732

Was Published: 11/14/2024 14:17:46

Created On: 11/14/2024 14:17:46

Modified By: Vladimir Lazarevski

Version #731

Was Published: 11/14/2024 13:43:15

Created On: 11/14/2024 13:43:15

Modified By: Vladimir Lazarevski

Version #730

Was Published: 11/14/2024 13:42:08

Created On: 11/14/2024 13:42:08

Modified By: Vladimir Lazarevski

Version #729

Was Published: 11/14/2024 13:40:55

Created On: 11/14/2024 13:40:55

Modified By: Vladimir Lazarevski

Version #728

Was Published: 11/14/2024 13:38:00

Created On: 11/14/2024 13:38:00

Modified By: Vladimir Lazarevski

Version #727

Was Published: 11/14/2024 13:37:17

Created On: 11/14/2024 13:37:17

Modified By: Vladimir Lazarevski

Version #726

Was Published: 11/14/2024 13:37:04

Created On: 11/14/2024 13:37:04

Modified By: Vladimir Lazarevski

Version #725

Was Published: 11/14/2024 13:35:04

Created On: 11/14/2024 13:35:04

Modified By: Vladimir Lazarevski

Version #721

Was Published: 11/14/2024 13:15:14

Created On: 11/14/2024 13:15:14

Modified By: Vladimir Lazarevski

Version #720

Was Published: 11/14/2024 13:04:54

Created On: 11/14/2024 13:04:54

Modified By: Vladimir Lazarevski

Version #719

Was Published: 11/14/2024 13:03:33

Created On: 11/14/2024 13:03:33

Modified By: Vladimir Lazarevski

Version #718

Was Published: 01/01/1970 00:00:00

Created On: 11/14/2024 13:03:13

Modified By: Vladimir Lazarevski

Version #717

Was Published: 01/01/1970 00:00:00

Created On: 11/14/2024 12:58:42

Modified By: Vladimir Lazarevski

Version #716

Was Published: 01/01/1970 00:00:00

Created On: 11/14/2024 12:58:19

Modified By: Vladimir Lazarevski

Version #715

Was Published: 01/01/1970 00:00:00

Created On: 11/14/2024 12:56:11

Modified By: Vladimir Lazarevski

Version #711

Was Published: 01/01/1970 00:00:00

Created On: 11/14/2024 12:39:50

Modified By: Vladimir Lazarevski

Version #710

Was Published: 11/14/2024 12:28:54

Created On: 11/14/2024 12:28:54

Modified By: Vladimir Lazarevski

Version #709

Was Published: 11/14/2024 12:25:06

Created On: 11/14/2024 12:25:06

Modified By: Vladimir Lazarevski

Version #708

Was Published: 11/14/2024 12:22:01

Created On: 11/14/2024 12:22:01

Modified By: Vladimir Lazarevski

Version #707

Was Published: 11/14/2024 12:21:18

Created On: 11/14/2024 12:21:18

Modified By: Vladimir Lazarevski

Version #706

Was Published: 11/14/2024 12:15:31

Created On: 11/14/2024 12:15:31

Modified By: Vladimir Lazarevski