RecAPI
Recognition of 1D barcodes with the BAR module
Filling methods supported: FM_BARCODE
Filters supported: ignores all filter settings
Trade-off supported: none

Application areas

Recognition of one-dimensional barcodes.

Supported basic barcode types

Conditions

If the number of bars in a barcode is less than the value of Kernel.Ocr.BAR.bar1D.MinBarLines, the barcode is omitted.

One zone can include up to 25 barcodes by default, but it can be adjusted using the setting Kernel.Ocr.BAR.bar1D.MaxBars.

The position of the barcode can be in any direction (except the Postnet code, where the maximum allowable skew of the barcode is 10°)

The zone can contain other elements besides the barcode. The program is able to detect the barcode(s) inside a zone. If, however, there are many other objects (text, figures, etc.) in the zone, recognition will be slower.

Barcode checksum handling

Some of the barcode types always include a checksum digit or digits. This checksum is always verified. The barcode is returned only if the checksum is correct. Some of the barcode types may include a checksum digit or digits (BAR_ITF, BAR_C39, BAR_MSI, BAR_2of5, BAR_MAT25). This checksum information is not verified at the default settings. If you know that the barcode to be recognized does contain cheksum you can enable its verification with different settings:

In case of BAR each barcode type has its own checksum verification setting: these are the Kernel.Ocr.BAR.bar1D.*.CDX settings.

When checksum verification is enabled the engine does not return barcodes with wrong checksum.

Deprecated barcode types

Some special barcode types have been removed from the enum BAR_TYPE in CSDK 18. They are still supported, but not through individual enum types, but through settings extending the functionality of the main barcode types. See the list below:

  • The BAR_EAN_SUPPL barcode type has been removed. If you want to recognize the supplement part of EAN/UPC barcode type family:
  • The BAR_ITF_CDT barcode type has been removed. If you want to check the optional checksum in your ITF barcode use the setting Kernel.Ocr.BAR.bar1D.ITF.CDX together with barcode type BAR_ITF.
  • The BAR_C39_CDT barcode type has been removed. If you want to check the optional checksum in your C39 barcode use the setting Kernel.Ocr.BAR.bar1D.C39.CDX together with barcode type BAR_C39.
  • The BAR_C39_SST barcode type has been removed. If you want to transmit the '*' start/stop character of C39 barcode use the setting Kernel.Ocr.BAR.bar1D.C39.SST together with barcode type BAR_C39.
  • The BAR_C39_FA barcode type has been removed. If you want to convert the result string to full ASCII format use the setting Kernel.Ocr.BAR.bar1D.C39.FA together with barcode type BAR_C39.
  • The BAR_C39_FA barcode type has been renamed to BAR_C39_EXT. If you want to convert the result string to full ASCII format use this barcode type.
  • The Kernel.Ocr.BAR.bar1D.C39.FA setting is still supported but do not use it in new applications. Use the BAR_C39_EXT barcode type directly instead.
  • The BAR_C128_CDT barcode type has been removed. If you want to transmit the check digit of C128 barcode use the setting Kernel.Ocr.BAR.bar1D.C128.CDT together with barcode type BAR_C128.