Change the length of barcodes to decode
Motivation
By default the Scandit Barcode Scanner scans barcodes with a fixed symbol count range. Under certain conditions it is helpful to modify the length of the barcode to be decoded, for example if
- you want to scan longer codes which cannot be decoded with the default settings.
- to optimize decoder performance for codes of certain lengths when the application only requires scanning particular barcode lengths.
The active symbol count setting is ignored for fixed-size barcodes (EAN and UPC barcodes) as well as 2d codes.
Change the barcode length
To know the symbol count of a barcode, you can either:
- scan it with the "Any Code" mode of the Scandit demo app, available on the App Store and Google Play Store.
- have a look at Calculating symbol counts for variable-length symbologies.
Changing the length of the barcodes is done through the property SBSSymbologySettings::activeSymbolCounts. Following an example of changing for Code 128 barcodes the symbol count range (7-20).
Objective-C:
SBSSymbologySettings *symSettings = [settings settingsForSymbology:SBSSymbologyCode128];
symSettings.activeSymbolCounts = [NSSet setWithObjects:@7, @8, @9, @10, @11, @12, @13, @14, @15, @16, @17, @18, @19, @20, nil];
Swift:
let symSettings = settings.settings(for: .code128)
symSettings.activeSymbolCounts = [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Available since SDK version 4.8.0.