Choosing the best barcode scanner for Android

Set software to implement functions optical recognition barcodes various systems using a conventional webcam, as well as displaying them in printed forms. Programs can work as part of configurations created on the basis of 1C-Enterprise platforms versions 7.7, 8.2, 8.3. The code reading component is implemented as an external 1C component with a COM interface. The display component is created using standard ActiveX technology for Windows, and can be embedded in any application that supports embedding ActiveX controls, for example, in word document or Excel, or a VBA form. P.S. Added a new version recognition programs. New features: video processing in real mode (and not by timer, as before), added the ability to recognize barcodes from graphic JPEG files, PNG, GIF, BMP, as well as transfer images from 1C for recognition, now you can get an image captured from a camera or file in 1C, both with and without highlighting places containing codes, as well as individual fragments of images containing code. Added new properties and methods for programming. Updated documentation.

Working with the camera is implemented using DirectX technology and requires DirectX installed in the system, as well as support for this technology by the webcam (almost all modern cameras, including budget ones, support DirectX).

Software bundle:

  • ActiveX component for printing barcodes
  • External component for camera video capture and barcode recognition
  • Operating Instructions (with detailed description each supported barcode type)
  • An example of external processing for 1C 8.2

The program is provided as an installer, the entire installation process takes place in the installation wizard automatically, with a request for installation parameters from the user. Installation can be carried out both for one user and for the entire system.

The following freely distributed libraries were used in the development:

Zint– barcode display library

Zbar– barcode recognition library

Fork of the Zint function library for Delphi http://theunknownones.net

Using the ActiveX component barcontrol.ocx

The barcode display and print program is an ActiveX control with all the consequences that implies. This means that you can use this component to embed in any application that supports ActiveX component integration, for example, Microsoft Word, Microsoft Excel, other products from the composition Microsoft Office. You can embed the component in a document, as well as place it on the forms of VBA applications. But still, the main purpose of the component is to embed 1C-Enterprise versions 7.* and 8.* into printable templates.

Embedding in a 1C 7.7 template

1C 7.7 does not support embedding controls directly from the configurator menu. To embed a control in a layout printed form 1C 7.7, insert it first into Microsoft Word or any other application that supports embedding ActiveX controls. Then select the element with the mouse button and copy it to the clipboard (Ctrl + C). After that, go to the layout editing form in the 1C configurator and paste the element from the clipboard to the selected location (Ctrl + V).

Embedding in a 1C 8.2 template

To embed an element in the layout of a spreadsheet document 1C 8.2, select the menu items "Table/Pictures/Insert Object" from the main menu of the configurator. Click in right place layout with the mouse pointer, and select the area in which the element will be located. After you have completed the selection, a standard window for inserting objects of the Windows system will appear on the screen. Select "CBarGenerator control" from the list. After pressing the "Ok" button, the element will appear in the designated area.

Setting object properties from the configurator

Highlight the element "CBarGenerator" in the printable template in the configurator with the mouse pointer, and click right click. Select "CBarGenerator Control/Properties" from the menu that appears. In the window that appears, you can change the barcode type, data, color, text font, indents, etc. (the values ​​of the properties available for editing are described in the Application Programming Interface section).

When you change any of the settings, the "Apply" button becomes available, with which you can view the resulting changes without closing the settings window. When you click the "Ok" button, all the changes made are applied to the object, and the settings window is closed.

Programmatic management of object properties from 1C 7.7

Select the element "CBarGenerator" with the mouse pointer in the printable template in the configurator "1C-Enterprise" 7.7, and right-click. Select "Properties" from the menu that appears.


In the "Decryption" field, put the name of the function that will be called for the decryption receive event. When this function is called, the "CurrentObject" template property will point to our control, so here you can change any of the properties described in the "Application Programming Interface" section. Example program code:

Procedure PrintDocument() Tab = CreateObject("Table"); PechCode = "012345678934"; PrintType = 34; Tab.OutputSection("SectionBarCode"); ... Tab.Show("Barcodes"); EndProcedure GetDecryption() Function Tab.CurrentObject.BarType = PrintType; Tab.CurrentObject.BarData = PechCode; EndFunctions

Programmatic management of object properties from 1C 8.2

Select the “CBarGenerator” element with the mouse pointer in the spreadsheet document layout in the configurator, go to the “Figure Properties” tab and give it a name.


Now you can access the object from the program code using given name. You must first display the layout in the resulting spreadsheet document. Program code example:

Procedure PrintDocument() TabDocument = FormElements.TableDocumentField; TabDocument.Clear(); TabDocument.PrintParameterName = "Barcoding_Parameters"; Layout = GetLayout("Layout"); Header Area = Layout. GetArea("Header"); TabDocument.Output(HeaderArea); TabDocument.Drawings.DBarCode.Object.BarType = CodeType; TabDocument.Drawings.DBarCode.Object.BarData = StringData; EndProcedure

Application programming interface

Object Properties

backcolor

Reading and writing. Type is numeric. Setting and getting the background color of a barcode. Set as a 24-bit integer, in which each of the three bytes is responsible for its own color component (RGB). For example, $FF0000 (decimal 16711680) is red,

BarColor

Reading and writing. Type is numeric. Setting and getting the color of barcode strokes. The setting is similar to the BackColor setting.

BarData

Reading and writing. Type is string. Set and read the data string to be converted into a barcode (for more details, see the "Barcode Format" section).

bar type

Reading and writing. The type is numeric (in VBA, use the Symbology enum). Setting and reading barcode type. Correspondence of barcode types to numeric codes is shown in the table:

Type name

Numeric value

To clarify the type of barcode, in some cases, installation is required. additional options Option1, Option2, Option3. For compound codes, you may need to set the Primary property.

borderwidth

Reading and writing. Type is numeric. Setting and reading the thickness of the frame around the barcode (0 - the frame is not used).

Font

Reading and writing. Type is OleFont. In 1C-Enterprise systems of any version, installation given parameter impossible. Sets and gets the font of the human-readable text label to be displayed with the barcode.

MarginLeft, MarginTop, MarginRight, MarginBottom, PaddingLeft, PaddingRight, PaddingBottom,

SpacingLeft, SpacingTop, SpacingRight, SpacingBottom

Reading and writing. Type is numeric. Responsible for the size of the indents. The correspondence of the parameters is shown in the figure.

Option1, Option2, Option3

Reading and writing. Type is numeric. Additional options, required for some types of barcodes.

Primary

Reading and writing. Type is string. Additional data for compound barcodes. Read more in the "Barcode Format" section.

ShowText

Reading and writing. Type - boolean (in 1C 7.7 - an integer). Flag for displaying a human-readable label that is displayed along with some types of barcodes. True value(1) - display text, False (0) - hide text.

textcolor

Reading and writing. Type is numeric. Sets and gets the font color of the human-readable text label displayed with the barcode. The setting is similar to the BackColor setting.

Working with the recognition component

The barcode recognition component is implemented using DirectX to capture the video stream from the camera. The stream is split into individual frames, which are then analyzed for one or more images of barcode symbols. When symbols are detected, they are highlighted in the scanning window with a bright line, and information about recognized symbols, such as decrypted data, type of barcoding, the angle at which successful recognition was performed, is transmitted using an external event to the 1C- Company".

Use in programs 1C 7.7, 8.2

The recognition component is designed as an external component for 1C systems, and can be built into the program in a standard way for 1C:

In the global module:

Variable ScannerObject Export; System Startup Procedure() ScannerObject = Null; Attempt to ConnectExternalComponent("AddIn.OBRScannerVK"); ScannerObject = New("AddIn.OBRScannerVK"); Exception Report("Could not load component!", MessageStatus.Important); Report("1. Check if all component files are copied to the directory " +ProgramDirectory(), MessageStatus.Attention); Send("2. Check if a Firewall is installed on the computer that blocks the download of the component!", MessageStatus.Attention); Report(ErrorDescription(), MessageStatus.Attention); End of Attempt; EndProcedure

To call the scanning window and start the scanning procedure, use the "ShowScanWindow()" function:

Procedure ButtonExecutePress(Button) If ScannerObject<>Null Then ScannerObject.ShowScanWindow(); EndIf; EndProcedure

After the program has recognized the barcode, it sends to 1C a string in which the recognized data is encrypted, the type of the barcode, add. options, the angle of rotation at which recognition occurred. The data string is encoded with the Base64 algorithm. To decode, use the "DecodeBase64" function of the component.

Procedure ExternalEvent(Source, Event, Data) DataString = ""; Tokens = StrReplace(Data,";", Symbols.PS); CodeType = 1; Angle = 0; For Sn=1 By StrNumber Of Rows(Tokens) Loop StrToken = StrGetString(Tokens, Sn); Index = Find(StrToken,":"); If Index > 1 Then TokenName = Left(StrToken, Index-1); TokenValue = Avg(StrToken, Index+1); If TokenName = "data" Then DataString = ScannerObject.DecodeBase64(TokenValue); ElseIf TokenName = "angle" Then Angle = Number(TokenValue); ElseIf TokenName = "symbol" Then StrTypeBarCode = HReg(TokenValue); If StrTypeBarCode = "ean-13" Then CodeType = 21; ElseIf StrTypeBarCode = "ean-8" Then CodeType = 21; ElseIf StrTypeBarCode = "upc-e" Then CodeType = 23; ElseIf StrTypeBarCode = "upc-a" Then CodeType = 22; ElseIf StrTypeBarCode = "isbn-13" Then CodeType = 40; ElseIf StrTypeBarCode = "i2/5" Then CodeType = 2; ElseIf StrTypeBarCode = "code-39" Then CodeType = 7; ElseIf StrTypeBarCode = "code-128" Then CodeType = 11; ElseIf StrTypeBarCode = "pdf417" Then CodeType = 31; ElseIf StrTypeBarCode = "qr-code" Then CodeType = 34; EndIf; EndIf; EndIf; EndCycle; EndProcedure

Setting the recognition parameters in the 1C system

After loading the component in the 1C system, the settings panel appears new inset where you can configure the following settings:


  • Video capture device - allows you to select the video device used for reading, if there are several of them in the system.
  • Rotate the image - allows you to achieve a more accurate quality of recognition by enough powerful computers, rotating the image by 15% to 90% until the barcode symbol is found in the image.
  • Types of barcodes - selection of types of barcodes, the presence of which in the image will be tried by the program. The program can recognize the following types bar codes: EAN-8, EAN-13, UPC-A, UPC-E, ISBN-10, ISBN-13, Code-39, PDF-417, Qr-Code, Code 128, Interleaved 2 of 5.
  • Camera resolution - setting the recognition accuracy;
  • Check data correctness - check whether the recognized data for a certain type of code complies with the standard;
  • Stop scanning after recognition - stop the scanning process after character recognition;
  • Close window after recognition - close the scanning window after character recognition.

Recognition component software interface

Properties:

Picture- reading, writing. Setting a picture for recognition. There are two options for setting this property:

1: The property value is set to the name of the image file. In this case, the component tries to load the image file from the disk at the specified path and determine the type of its content. Available types graphic files– JPEG, PNG, GIF, BMP.

2. The value of the property is set to a string containing binary data encoded by the Base64 algorithm obtained from the 1C image:

ScannerObject.Picture = Base64String(Picture.GetBinaryData());

When reading a value from this property, the component always returns the binary data of the current image loaded from disk or captured from the camera, encoded with the Base64 algorithm. You can get a finished 1C picture as follows:

Image1C = New Image(Base64Value(Scanner.Picture));

CharacterTypes (SymbolTypes) - reading, writing. Set/read barcode types available for use. The value is a string containing the symbolic names of barcode types, separated by a comma. Possible values ​​are: "ean-13", "ean-8", "upc-e", "upc-a", "isbn-10", "isbn-13", "i2/5", "code-39 ", "code-128", "pdf417", "qr-code".

RotatePicture (RotateBitmap) - reading, writing. Contains a boolean value - true or false. If set to True, the image will be rotated in increments of 15 degrees, up to 90 degrees, for the best possible recognition.

Horizontal Resolution (DensityX) - reading, writing. Allows you to set the horizontal resolution of the camera, a number from 1 to 10 is set. The smallest resolution is 1.

Vertical Resolution (DensityY) - reading, writing. Allows you to set the vertical resolution of the camera, a number from 1 to 10 is set. The smallest resolution is 1.

Methods:

ShowScanWindow– Show the scanning window, enable data acquisition from the video camera and start the process of barcode symbol recognition.

DecodeBase64 (DecodeBase64)– Decoding of the data string encrypted with the Base64 algorithm passed from the external component to the external event handler.

EncodeBase64(EncodeBase64)– Data string encoding 1C with Base64 algorithm. For use in future versions of the component.

ScanPicture– Scanning the picture passed to the component in the "Picture" property for barcodes. The decoded data is returned to the program as a string. The string can be decrypted using the following 1C code:

Function GetDataFromString(StringCodes) DataArray = New Array; For It = 1 By StrNumber of Lines(StrCodes) Loop CodeType = 0; StringData = ""; Rotation Angle = 0; StrTypeBarCode = ""; Data = StrGetString(StRCodes, It); Tokens = StrReplace(Data, ";", Symbols.PS); For Sch = 1 By StrNumber Of Rows(Tokens) Loop StrToken = StrGetString(Tokens, Sch); Index = Find(StrToken,":"); If Index > 1 Then TokenName = Left(StrToken, Index-1); TokenValue = Avg(StrToken, Index+1); If TokenName = "data" Then DataString = ScannerObject.DecodeBase64(TokenValue); ElseIf TokenName = "angle" Then Rotation Angle = Number(TokenValue); ElseIf TokenName = "symbol" Then StrTypeBarCode = HReg(TokenValue); EndIf; EndIf; EndCycle; StrResult = New Structure("CodeType Str, Angle, Data", StrTypeBarCode, Rotation Angle, String Data); DataArray.Add(StrResult); EndCycle; Return ArrayData; EndFunctions

GetFragment (GetFragment)– returns a fragment of the original drawing containing the detected barcode symbol. The picture is returned as a string encoded with the Base64 algorithm (the decryption method is given in the description of the "Picture" property). The sequence number of the detected character is passed to the function as a parameter, the first fragment is denoted by one.

System Requirements

To use the software package, the user's computer must have operating system Windows Windows versions XP and up. For the recognition component to work, it must be installed on the computer. DirectX versions at least 7.0, and a video camera that supports the DirectX interface.

Distribution terms

The software is distributed as binary files packaged in an installer program. The program code is not included in the package, but can be provided for your own use, but not for commercial purposes.

Technical support

Purchase of paid technical support is possible.

Advantages

The advantages of this set of programs are their versatility. Components support a huge number of barcode types and can be embedded in any program that uses standard interfaces programming. It is possible to use these components both in the development of document management systems and for the purposes of retail trade, the formation of regulated financial statements, etc.

Recently, programs have begun to appear that can decode the barcode received from the camera. mobile phone or communicator. To do this, you only need to install special program designed for your platform. On this moment you can find programs for PC, Windows Mobile, Apple IOS, Simbiant, JAVA for mobile phones (J2ME) and for Android platforms. On the Internet, you can find many different companies developing their own SDKs or offering to adapt free ones for your specific purposes.

What can such programs do?


i-Nigma- Recognition software. It recognizes electronic business cards in vCard and meCard formats, allows you to follow links on the Internet encoded in a QR code, read and save text.
At the moment, the most popular and promising barcode coding standard is QR - Quick Response. This is now the standard Japanese way to encode text and graphic information in the form of small pictures that are easy to scan cell phone. If you print such a picture and swipe your cell phone over it, the encoded text is automatically recognized, depriving you of the dubious pleasure of typing the required e-mail or web address using tiny buttons on the phone's keypad.

Kaywa 2D Barcode Reader

Kaywa Reader is a program for reading two-dimensional barcodes through the built-in camera of a mobile phone. On successful read this program can give the following information: SMS message, phone number, some text, e-mail address or Internet address. Reads codes not only from a sheet of paper, but also from LCD monitors. You can create a tag on the developer's website.

Nokia barcode reader

If you have a Nokia N82, N93, N93i, N95, N95 8GB, E66, E71, E90 or 6220 Classic (APAC variants) you will find Nokia Barcode Reader pre-installed on your device and ready to recognize mobile codes around you. For Nokia N80, N78, 6210 Navigator, N96 and 6220 Classic (non-APAC variants) you can download the application using the following link: Nokia Barcode Reader. Download to your computer and transfer it to your mobile device.

Codes can be generated with a mobile code generator.

Barcode Scanner ZXing(pronounced like " zebra crossing")

standard, free app for communicators Android control.

Application with open source code , multiformat 1D/2D barcode scanner, libraries implemented in Java, with ports to other languages. Scanning is carried out built-in camera mobile phone followed by barcode decoding on the device, without communicating with the server. However, the project may be used for encoding and decoding barcodes on workstations and servers. There is a custom search, if the Internet is available, you can connect the database

PPCBarcoder- the program allows you to recognize the barcode, check the checksum of the EAN-13 barcode and determine the manufacturer's registration data from it. If you have access to the Internet, it receives detailed information about the manufacturer registered in the international GEPIR database, and if possible, about the product. Recognition of a barcode from an image taken from a camera or a file (.jpg, .bmp, .png and .gif).

Supported formats: EAN-13, EAN-8, UPC/A, UPC/E, Code 39, Code 128, ITF, and Datamatrix

Image editing before OCR: rotate and crop (use the switch to crop mode in the preview form, then select the desired area with a green border and click "Recognize"). When cropping mode is activated, resp. the button will be highlighted in red. To return to image scroll mode, press the crop button again.
If the image cannot be recognized, re-editing and recognition will be offered.
Following a link (from a QR code) or searching for the entered/recognized code on google.
Verification of the checksum of the entered EAN-13 code
Determination of manufacturer's registration information according to EAN-13
Receipt detailed information about the manufacturer/product by GTIN

WM5, WM6..NET Compact Framework 2.0.

Possible incorrect work camera applet on some E-Ten models (X650?) with an InvalidOperationException. This is due to the peculiarities of the interaction between system libraries and the camera driver. A solution has not been found at the moment, it is suggested to take a picture with the camera for the time being, then open the resulting file in the program.
Image recognition does not work on devices without autofocus due to image blur.

Barcode Scanner for Android is a utility for reading barcodes (QR codes) for smartphones and tablets running Android OS.

There are many different barcode scanners on the web. In this regard, below will be presented the top 5 programs in terms of rating and recall. And you already decide which one to download.

All programs for reading QR codes from TOP-10 google store and free at the time of writing. Someone's software has ads, and someone has a lot of it. All details below. The first two mobile apps have a rating of 4.7 or higher.

Download QR & Barcode Scanner PRO:

QR & Barcode Scanner PRO is a compact utility for reading barcodes using the camera of an Android device. In addition, it allows you to create QR codes yourself for a more comfortable exchange of personal information.

Download Lightning QR Scanner:

Scanners are useful to a wide audience of users, because they can be used everywhere. Moreover, the applications are absolutely free and some of them do not have banners.

Free Download⚡QR Scanner/QR Code:

Features of any scanner for Android:

  1. scanning and recognition of barcodes;
  2. saving the results;
  3. search for products on the Internet to view prices and reviews;
  4. creating your own QR codes.

Download QR barcode scanner:

It is quite easy and simple to use. You just need to download and run the application on your smartphone by placing it in front of the barcode of interest. Wait for the camera to focus. The program will do the rest on its own, automatically recognizing and interpreting the received graphic information.



Download Barcode Scanner for Android:

It is possible to search for a recognized barcode in a special database or simply on the Internet. Of course, the quality of recognition and the reliability of the information received depends not only on the application, but also on the device model used, as well as the camera and lighting conditions of the scanned image. It is possible to create your own QR codes.

The utilities have a function of automatic highlighting when scanning. All of them have sufficient "omnivorous" when reading. In addition, they perfectly recognize both Cyrillic and Latin.

Linear codes support: UPC (UPC-A, UPC-E), EAN (EAN-8, EAN-13), Code 39, 93 and 128. And 2D codes: QR Code, data matrix, PDF 417, Codabar, RSS-14, Aztec, ITF.

You can also note 2 applications with the maximum number downloads 100.000.000:

  1. QR Scanner: Free Scanner (Scanner by Kaspersky without ads)

With such a set of features and characteristics mobile applications for smartphones and tablets deserve close attention from users who want to acquire high-quality and free scanner barcodes on your device.

Download barcode scanner for Android free of charge APK file or in the google store. Most of the tested applications are in Russian and with a minimum number of banners, and some do not have it at all.

Very quickly, small barcodes, which are commonly called QR codes, have merged into our lives. But they really can make our lives much easier, because with the help of some you can go to various Internet sites or get contact information, and for this you do not need to remember the address of the web page! This article will walk you through the ins and outs of choosing the best barcode reader app for Android, plus the pros and cons of some of them, with recommendations provided for choosing a good app.

Key Features of Barcode Reader Applications

Barcodes can provide you with completely different information. For example, in stores you can learn a lot about a product, and if you take updated QR codes, they can give you phone numbers that you can save, links to Internet sites, and the like.

This is convenient because for recognition, the user needs only one application, which takes up very little space on the drive, as well as a camera on a tablet or smartphone. With the help of some programs, you can see reviews about a particular product, its original price, and much more. Other programs themselves can provide their users with personal QR codes, which can then be used as business cards. Many of these applications are free, so users can easily take advantage of all the features of barcodes. Now let's take a look at the free ones. good apps for reading codes on Android.

Top Apps


An excellent program for reading codes, both conventional, linear, and more advanced options, such as Data-Matrix and QR. It is worth noting that this application skillfully copes with the task of creating qr codes, thanks to which you can use such small codes as your own business card. Intuitive interface, takes less than a megabyte on the drive - everything you need is in this program. This reader is free, so anyone can download it. It is worth noting that the application is installed in Russian, which is also convenient. There isn't a lot of text, but it's still there.


An excellent application whose main purpose is to recognize QR codes. This barcode scanner only helps to read QR, and, for example, linear codes that are on the back of most products, this application will not be able to recognize. Another advantage of the program is the small size occupied on the hard drive. The security of this QuickMark QR Code Reader is also at a high level, so the user does not have to worry about the scanned data being saved and transferred to third parties. On the QuickMark website, you can find information that confirms the high level of security. Among the available languages, unfortunately, only English, however, there is not much text in the entire program, you don’t have to worry about this.

Scan


An excellent program for those who need only the main function of the scanner. It has a simple, clear iOS-style design, easy operation, and high level security. Scan is able to scan Various types barcodes like latest QR codes, as well as ordinary linear codes. Not so long ago in Google Play there was a version of Scan for Android. It has the same functions and properties, however, slightly different in design. In addition, Scan is very small compared to competing programs. Convenient, simple, small - that's how you can describe Scan.


Perhaps one of best apps for recognition of barcodes, QR codes and more. In addition to its usual functions, Google Goggles has the ability to translate text that enters the camera lens into any language.

  • The program has the ability to scan texts using optical character recognition technology. With this technology, you can, in fact, convert text from PDF format, djvu and the like into editable, say, TXT or DOC. This is also a useful feature that may be useful to the user in their work.
  • The latest versions of applications help their users to recognize thumbnail pictures, covers on discs. With this function, the user can find out the name and full information about the book, movie, or video game featured in the thumbnail.
  • For lovers of entertainment, there is a function that helps to solve Sudoku with Google Goggles!

In general, the program has not only basic, but also additional, useful features which can be useful both in work and in Everyday life. Unfortunately, Google Goggles hasn't been updated for a long time, however, even with the features it already has, it has a number of its fans. And the program weighs a little - some 2.7 MB. It can be downloaded for free on Google Play.


One of the most accurate and fastest barcode scanners will allow the user to instantly find out the information that has been encrypted. It is ready to recognize information that is stored in QR codes, as well as in ordinary line codes. This program allows you to create and share your own QR codes. With their help, you can create full-fledged business cards, which will be very small in size and store only the most important.

Conclusion

If you are looking for a program that will perform only its main function and take up little space, then QuickMark QR Code Reader is ideal. It is small, but functional. But if you need multifunctional program for reading barcodes and thumbnails, the most the best option there will be reliable Google Goggles. Outcome: two of the most the best programs for reading codes, these are QuickMark QR Code Reader and Google Goggles.