BarCodeReader
Source: Recognition.
BarCodeReader encapsulates an image which may contain one or several barcodes, it then can perform ReadBarCodes operation to detect barcodes.
Methods
new BarCodeReader(image, rectangles, decodeTypes)
Initializes a new instance of the BarCodeReader
Example
//This sample shows how to detect Code39 and Code128 barcodes.
let reader = new BarCodeReader("test.png", null, [DecodeType.CODE_39_STANDARD, DecodeType.CODE_128]);
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode Type: " + result.getCodeTypeName());
console.log("BarCode CodeText: " + result.getCodeText());
});
Parameters
Name | Type | Optional | Description |
---|---|---|---|
image |
|
|
encoded as base64 string or path to image |
rectangles |
|
|
array of object by type Rectangle |
decodeTypes |
|
|
the array of objects by DecodeType |
Methods
containsAny()
Determines whether any of the given decode types is included into
Parameter
Name | Type | Optional | Description |
---|---|---|---|
...decodeTypes |
|
|
Types to verify. |
- Returns
-
bool Value is a true if any types are included into.
exportToXml(xmlFile)
Exports BarCode properties to the xml-file specified
Parameter
Name | Type | Optional | Description |
---|---|---|---|
xmlFile |
|
|
The name of the file |
- Returns
-
Whether or not export completed successfully.
Returns True in case of success; False Otherwise
getBarCodeDecodeType() → any type
Gets the decode type of the input barcode decoding
- Returns
-
any type
getBarcodeSettings()
The main BarCode decoding parameters. Contains parameters which make influence on recognized data.
- Returns
-
The main BarCode decoding parameters
getFoundBarCodes()
Gets recognized BarCodeResult array
Example
//This sample shows how to read barcodes with BarCodeReader
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
reader.readBarCodes();
for(let i = 0; reader.getFoundCount() > i; ++i)
console.log("BarCode CodeText: " + reader.getFoundBarCodes()[i].getCodeText());
- Returns
-
recognized BarCodeResult array
getFoundCount()
Gets recognized barcodes count
Example
//This sample shows how to read barcodes with BarCodeReader
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
reader.readBarCodes();
for(let i = 0; reader.getFoundCount() > i; ++i)
console.log("BarCode CodeText: " + reader.getFoundBarCodes()[i].getCodeText());
Value: The recognized barcodes count
getQualitySettings()
QualitySettings allows to configure recognition quality and speed manually.
You can quickly set up QualitySettings by embedded presets: HighPerformance, NormalQuality,
HighQuality, MaxBarCodes or you can manually configure separate options.
Default value of QualitySettings is NormalQuality.
Examples
//This sample shows how to use QualitySettings with BarCodeReader
let reader = new BarCodeReader("test.png", null, null);
//set high performance mode
reader.setQualitySettings(QualitySettings.getHighPerformance());
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
//normal quality mode is set by default
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
//set high performance mode
reader.setQualitySettings(QualitySettings.getHighPerformance());
//set separate options
reader.getQualitySettings().setAllowMedianSmoothing(true);
reader.getQualitySettings().setMedianSmoothingWindowSize(5);
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
- Returns
-
QualitySettings to configure recognition quality and speed.
getTimeout()
Gets the timeout of recognition process in milliseconds.
Example
let reader = new BarCodeReader("test.png", null, null);
reader.setTimeout(5000);
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
- Returns
-
The timeout.
readBarCodes()
Reads BarCodeResult from the image.
Example
//This sample shows how to read barcodes with BarCodeReader
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
reader.readBarCodes();
for(let i = 0; reader.getFoundCount() > i; ++i)
console.log("BarCode CodeText: " + reader.getFoundBarCodes()[i].getCodeText());
- Returns
-
Returns array of recognized {@code BarCodeResult}s on the image. If nothing is recognized, zero array is returned.
setBarCodeImage(value, ...areas)
Sets bitmap image and areas for recognition.
Must be called before ReadBarCodes() method.
Example
//This sample shows how to detect Code39 and Code128 barcodes.
let bmp = "test.png";
let reader = new BarCodeReader();
reader.setBarCodeReadType([ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
var img = new Image();
img.src = 'path_to_image';
width = img.width;
height = img.height;
reader.setBarCodeImage(bmp, new Rectangle[] { new Rectangle(0, 0, width, height) });
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode Type: " + result.getCodeTypeName());
console.log("BarCode CodeText: " + result.getCodeText());
});
Parameters
Name | Type | Optional | Description |
---|---|---|---|
value |
|
|
The bitmap image for recognition. |
areas |
|
|
areas list for recognition Value can be repeated. |
- Throws
-
BarcodeException
setBarCodeReadType(...types)
Sets SingleDecodeType type array for recognition.
Must be called before readBarCodes() method.
Example
//This sample shows how to detect Code39 and Code128 barcodes.
let reader = new BarCodeReader();
reader.setBarCodeReadType([ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
reader.setBarCodeImage("test.png");
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode Type: " + result.getCodeTypeName());
console.log("BarCode CodeText: " + result.getCodeText());
});
Parameter
Name | Type | Optional | Description |
---|---|---|---|
types |
|
|
The SingleDecodeType type array to read. Value can be repeated. |
setQualitySettings()
QualitySettings allows to configure recognition quality and speed manually.
You can quickly set up QualitySettings by embedded presets: HighPerformance, NormalQuality,
HighQuality, MaxBarCodes or you can manually configure separate options.
Default value of QualitySettings is NormalQuality.
Examples
//This sample shows how to use QualitySettings with BarCodeReader
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
//set high performance mode
reader.setQualitySettings(QualitySettings.getHighPerformance());
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
//normal quality mode is set by default
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
let reader = new BarCodeReader("test.png", null, [ DecodeType.CODE_39_STANDARD, DecodeType.CODE_128 ]);
//set high performance mode
reader.setQualitySettings(QualitySettings.getHighPerformance());
//set separate options
reader.getQualitySettings().setAllowMedianSmoothing(true);
reader.getQualitySettings().setMedianSmoothingWindowSize(5);
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
QualitySettings to configure recognition quality and speed.
setTimeout(value)
Sets the timeout of recognition process in milliseconds.
Example
let reader = new BarCodeReader("test.png", null, null);
reader.setTimeout(5000);
reader.readBarCodes().forEach(function(result, i, results)
{
console.log("BarCode CodeText: " + result.getCodeText());
});
Parameter
Name | Type | Optional | Description |
---|---|---|---|
value |
|
|
The timeout. |
convertToString()
internal
importFromXml(xmlFile)
Exports BarCode properties to the xml-file specified
Parameter
Name | Type | Optional | Description |
---|---|---|---|
xmlFile |
|
|
The name of the file |
- Returns
-
Whether or not export completed successfully. Returns True in case of success; False Otherwise