
Optical Barcode Recognition


Delphi and C++ Builder optical barcode recognition component.
- uses ZBar bar code reader library
- supports EAN-13/UPC-A, EAN-8, UPC-E, Code 39, Code 93, Code 128, Codabar, PDF417, GS1 DataBar, GS1 DataBar Expanded, Interleaved 2 of 5, SQ Code and QR Code barcodes
- supports Windows 32 and Windows 64
- available for Delphi/C++ Builder 5 - 10.4 and Lazarus 2.0.8
- source code included in registered version
- royalty free distribution in applications
Download and order
Order OBR component $80,- USD (license for one developer)
Order OBR multilicense $240,- USD (license for all developers in company)
Order OBR year upgrades $40,- USD (registered users only)
Order OBR year upgrades multilicense $120,- USD (registered multilicense users only)
FAQ
How can I disable recognition of some symbology?
Add this line before scaning barcode:
How can I enable recognition of some symbology?
Add this line before scaning barcode:
How can I scan UPC/EAN barcodes with 5 digit extension?
Add this line before scaning barcode:
Why are some QR Codes containing diacritic incorrectly decoded?
This problem is caused by incorrectly created QR Codes that use QR Code Kanji (Shift JIS X 0208) encoding. Use this code for decoding:
Add this line before scaning barcode:
Obr.Configure(syQrCode, saNone, coEnableSymbology, 0); // disable QR code symbology
How can I enable recognition of some symbology?
Add this line before scaning barcode:
Obr.Configure(syQrCode, saNone, coEnableSymbology, 1); // enable QR code symbology
How can I scan UPC/EAN barcodes with 5 digit extension?
Add this line before scaning barcode:
Obr.Configure(syEan5, saNone, coEnableSymbology, 1);
Why are some QR Codes containing diacritic incorrectly decoded?
This problem is caused by incorrectly created QR Codes that use QR Code Kanji (Shift JIS X 0208) encoding. Use this code for decoding:
function DecodeQRCode(Data: TBytes): string; var Utf8: string; ShiftJIS: TBytes; begin Utf8 := TEncoding.UTF8.GetString(Data); ShiftJIS := TEncoding.GetEncoding(932 {Shift JIS }).GetBytes(Utf8); Result := TEncoding.ANSI.GetString(ShiftJIS); end;