Recognition of Barcodes in ABBYY technologies

ABBYY technology and products can read different barcode types.
The Document Analysis algorithms are able to locate and identify different barcodes on a document page, but of course it is also possible to “draw” a barcode block also via API.
Once the barcode region is defined/detected, it can be recognised. The API provides access to:
  • the coordinates
  • the characters
  • character confidence information
  • start/stop symbols of different barcode types,
    for barcodes of type Code 39 the start/stop symbol is the asterisk “*”
  • The barcode value can then be used for file naming.
A very common scenario is document separation based on barcodes.
    • This feature is implemented in FlexiCapture projects
    • With FineReader Engine, the developers can “cut” the page stream with custom code
    • Separation in FineReader Server
    • Separation in the ABBYY Scan Station (FineReader Server & FlexiCapture)

Tips for working with barcodes

Barcode recognition quality depends on:

  • the barcode print quality
  • settings used in the document scanning process
  • Placement of the barcode when it is manually added

In order for the barcodes to be recognized well, follow these recommendations:

  • A barcode must be separated from other text by a fairly wide white gap.
  • Barcode size and the width of its separate bars or dots must meet the following requirements:
    • The optimal barcode height is more than 10 millimetres. The size of a barcode should be less than A4 size.
    • Barcode height must be higher than the double height of a text line
    • For not-square barcodes, their length must be bigger than their height
    • For 1D barcodes, the width of the thinnest bar in the barcode must be at least 3-5 pixels in terms of pixels of the image
    • For 2D barcodes, the dimensions of their cells should be at least 2×2 pixels, the recommended size is 4×4 pixels or more. Besides, for all 2D barcodes except PDF417, the cells should be square, because barcodes with the prolate cells most likely will be recognized incorrectly
  • Compressing images of barcodes using JPEG compression should be avoided, because it makes the barcode borders fuzzy.
  • Skewing barcodes is not recommended.
  • The grey-scale scanning mode is the best for OCR purposes.
    • Scanning in black-and-white can cause issues, please adjust the brightness setting.
    • If the barcode is “torn” or very light, decrease the brightness to make the image darker.
    • If the barcode is distorted or its parts are glued together, increase the brightness to make the image brighter.
  • Avoid printing barcodes in frames.
  • Avoid printing barcodes over a text or a picture.

Barcodes that do not fit these recommendations can still be recognized, however the quality of recognition may be lower.


Predefined processing profile for fast implementation

Some products, for example the ABBYY FineReader Engine (starting with version 10) provide a predefined processing profile for recognition of barecodes that detects barecodes and extracts their values, while texts, pictures, or tables are not detected. This profile contains settings that are optimized for barcoderecognition.

Have more questions? Submit a request



Please sign in to leave a comment.