Optical Barcode Recognition for FireMonkey

OBR
Delphi and C++ Builder optical barcode recognition component for FireMonkey.
  • uses ZBar bar code reader library
  • supports EAN-13/UPC-A, EAN-8, UPC-E, Code 39, Code 93, Code 128, Codabar, GS1 DataBar, GS1 DataBar Expanded, Interleaved 2 of 5 and QR Code barcodes
  • supports Windows 32, Windows 64, macOS, iOS and Android
  • available for Delphi/C++ Builder XE3 - 10.1
  • source code included in full version
  • royalty free distribution in applications

Download and order

FAQ

How can I scan UPC/EAN barcodes with 5 digit extension?
Add this line before scaning barcode:
FObr.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;
							
What files should be deployed to Android device?
Add this file in Delphi Deployment window:
Local Name Remote Path
libzbar.so library\lib\armeabi-v7a\

Related links