For many years, barcodes have been used as machine-readable identifiers for items. The main idea of ​​the specialists was as follows: each label contains a unique serial number, encoded in the form of black and white stripes; this number serves as a key to the database, which contains detailed information. But many users needed to encode more information. They needed a barcode to act as a portable database, not a key to it.

 

The idea of ​​creating a portable database began in 1984 when the Automotive Industry Action Group (AIAG) published a standard for marking goods and parts containing four "stacked" Code 39. These codes contained the part number (identifier), quantity, sender, and serial number.

The first truly two-dimensional code was introduced by Intermec Corporation in 1988 when Code 49 was announced.

 

Today, several names are used to describe this new class of symbology: Bidirectional code (or two-dimensional - Two-dimensional code) or 2-D code. The names stacked symbology or multi-row code more closely reflect the nature of a series of linear (unidirectional) barcodes. The data is encoded as multiple lines of dashes and spaces of variable width. The name matrix code (matrix code) is used to refer to two-dimensional codes based on the arrangement of black spots (elements) within the matrix. Each black element is sized and the position of the element encodes the data.

 

A common barcode has "vertical redundancy", which means that the same information is repeated vertically. This allows the barcode to have print defects. The height of the strokes can be reduced without loss of information. The two-dimensional code contains information both horizontally and vertically, and there is no vertical redundancy. To prevent errors in readability and speed of reading two-dimensional codes, special checksums are used to check the reliability of the information entered.

 

Many different 2D barcode symbols have been developed today. Stimulsoft Reports implements two of the most popular codes: PDF417, Datamatrix, QR Code.