Changing the Length of the Barcodes to Decode

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 can not be decoded with the default settings.
  • to optimize decoder performance for codes of certain lengths; when it is known that the application only requires scanning of particular barcode lengths.

The mapping from characters to symbols is symbology-specific. For some symbologies, the start and end characters are included, others include checksums characters in the symbol counts.

The active symbol count setting is ignored for fixed-size barcodes (the EAN and UPC family of codes) as well as 2d codes. For other symbologies, see Calculating symbol counts for variable-length symbologies.

Change the barcode length

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.