MicroPDF417 is two-dimensional (2D) stacked barcode symbology invented in 1996, [1] by Frederick Schuessler, Kevin Hunter, Sundeep Kumar and Cary Chu from Symbol Technologies company. MicroPDF417 consists from specially encoded Row Address Patterns (RAP) columns and aligned to them Data columns encoded in "417" sequence which was invented in 1990. [2] In 2006, the standard was registered as ISO/IEC 24728:2006. [3]
MicroPDF417 barcode can be read with both barcode reader technologies like laser scanners and camera-based readers. As most of 2D barcodes, MicroPDF417 standard contains Reed–Solomon error correction with ability to read corrupted images and high data density. However, data which can be encoded in MicroPDF417 is only 150 bytes or 250 alphanumeric characters in the biggest 4-columns version. [4] Also, because of design, MicroPDF417 barcode can be used only for high-quality documents and images.
MicroPDF417 in common modes can encode text, numeric, binary data and Unicode text with Extended Channel Interpretation. Additionally, MicroPDF417 contains special modes which can encode text and numeric data in special formats, which can be used, as an example, in GS1 Composite bar code symbology. [5]
MicroPDF417 barcode was patented in 1996, [1] by Frederick Schuessler, Kevin Hunter, Sundeep Kumar and Cary Chu from Symbol Technologies company. MicroPDF417 is an extension of PDF417 barcode [6] and uses the same principles of data encoding. [2] Before 2006, the standard can be obtained only from AIM store [7] as ITS MicroPDF417 standard. [8] At that time, it is used as part of ITS - EAN.UCC Composite Symbology. [9] In 2006, MicroPDF417 standard was brought out as ISO/IEC 24728:2006 [3] and can be used independently or as part of GS1 Composite barcode symbology. [5]
MicroPDF417 is mostly used to add extended data to linear barcodes. MicroPDF417 has high encoding density and in this way, it can add more additional data in lower space. At this time, it is used in inventory management and goods labeling as part of EAN.UCC Composite Symbology [9] and GS1 Composite barcode symbology. [5] Most of barcode printers [10] and barcode scanners [11] have MicroPDF417 support.
MicroPDF417 barcode symbol consists from at least two Row Address Patterns (RAP) columns which are used to detect row numbers and aligned to them Data Columns. [12] MicroPDF417 barcode symbol has four versions with 1, 2, 3 and 4 data columns. The barcode can be split to the following elements: [3] : 5.2.3
Every MicroPDF417 barcode data column versions can be split into predefined numbers of rows which are different for every version. [3] : 5.2.2 Row height should be from 2 to 5 times higher than minimal module (bar or space) width. [3] : 5.8.2
Data Columns | Allowed Rows | Structure |
---|---|---|
1 | 11, 14, 17, 20, 24, 28 | |
2 | 8, 11, 14, 17, 20, 23, 26 | |
3 | 6, 8, 10, 12, 15, 20, 26, 32, 38, 44 | |
4 | 4, 6, 8, 10, 12, 15, 20, 26, 32, 38, 44 |
MicroPDF417 Row Address Patterns (RAP) [3] : 5.2.5 are stacked into columns. Each RAP is used as indicator of row number, but RAP is not the same as row number. Every MicroPDF417 RAP consists from 10 modules, which are split to 3 black bars and 3 white spaces. Bars and spaces size can vary from 1 to 5. Each RAP row starts from black bar and ends with white space. Right RAP has additional completing black bar.
MicroPDF417 Row Address Patterns have 52 values which are used for left and right columns and 52 other values which are used only for Center columns. RAP has values from 1 to 52. One and two data columns MicroPDF417 barcode use only Left and Right RAP columns, three and four column versions additionally use Center RAP column.
All of Row Address Patterns in MicroPDF417 from Left, Right and Center columns use special sequences which are called Row Number Assignments (RNA). [3] : 5.11.3 The unique combination of RNA defines MicroPDF417 version and equality of current RAP number to row number.
As an example, MicroPDF417 4 columns and 4 rows version has Left RAP, which starts from 47 and ends 50, Center RAP starts from 19 and ends 22, Right RAP starts from 43 and ends 46. The combination of these 3 sequences in the same area of the image defines 4 columns and 4 rows MicroPDF417 version and gives answer which RAP number identifies current row.
MicroPDF417 Data codewords encoding is similar to PDF417 barcode. Every Data codeword [3] : 5.3.1 row has width of 17 modules, split to 4 black bars and 4 white spaces with variable size from 1 to 6 modules. Each codeword represents a number from 0 to 928. The set of codewords is represented in each of three clusters with numbers 0, 3 and 6.
The codeword cluster number can be counted by number of Left RAP (values from 1 to 52) in the current row with the following formula: [3] : 5.11.1
MicroPDF417 uses Reed–Solomon error correction. [3] : 5.10 Amount of error correction codewords are fixed for each barcode version. [3] : 5.2.2 MicroPDF417 has from 28% to 67% symbol capacity filled by errors correction codewords. MicroPDF417 error correction can recover erasures and substitution errors, where: [3] : 5.7.2
Here is example how all of these codewords are assembled into MicroPDF417 symbol: [3] : 5.11
Left RAP | Data Column 1 | Data Column 2 | Center RAP | Data Column 3 | Data Column 4 | Right RAP |
---|---|---|---|---|---|---|
LR47 | D7 | D6 | CR19 | D5 | D4 | RR43 |
LR48 | D3 | D2 | CR20 | D1 | D0 | RR44 |
LR49 | E7 | E6 | CR21 | E5 | E4 | RR45 |
LR50 | E3 | E2 | CR22 | E1 | E0 | RR46 |
LR(x) - Left Row Address Patterns (RAP) identifier.
D(x) - Data codeword.
CR(x) - Center Row Address Patterns (RAP) identifier.
RR(x) - Right Row Address Patterns (RAP) identifier.
E(x) - Error correction codeword.
MicroPDF417 barcode has 929 data codewords, where 900 data codewords (0 - 899) are available in each mode for data encoding and 29 (900 - 928) codewords are assigned to specific functions, [3] : 5.4.1 most of which defines data encoding modes. Encoding modes can be split into two encoding types: common modes for ordinary binary or text data encoding and special modes which can be used to encode special industrial modes.
MicroPDF417 common encoding modes is similar to PDF417 encoding modes and includes: [3] : 5.4.1.1
Any of these modes can be combined in mixed mode [3] : AnnexN to obtain better data compaction and reduce MicroPDF417 symbol size.
MicroPDF417 can encode data in special industrial modes, [3] : 5.4.1.5 which includes:
MicroPDF417 barcode allows to add metadata [3] : AnnexH to the barcode symbol which can add description of current barcode symbol. However, because MicroPDF417 has restricted amount of capacity it is used rarely. Some structured append fields cannot be omitted and set in case structured append is added to the symbol, some fields are optional. Possible structured append fields you can see in the following table:
Field Name | Availability | Value Type | Description |
---|---|---|---|
Segment Index | Mandatory | Numeric | Index of current MicroPDF417 symbol in unique barcodes sequence (0 - 99 998) |
File ID | Mandatory | Numeric | A variable length field which identifies current unique barcodes sequence (barcode file). Field size not limited by standard |
File Name | Optional | Text | Name of the barcode file in free text format |
Segment Count | Optional | Numeric | Count of current MicroPDF417 symbols in unique barcodes sequence (1 - 99 999) |
Time Stamp | Optional | Numeric | Time of barcode file creation in format: elapsed time in seconds since 1970:01:01:00:00:00 GMT |
Sender | Optional | Text | Sender of barcode file in free text format |
Addressee | Optional | Text | Address of barcode file sender in free text format |
File Size | Optional | Numeric | Size in bytes of barcode file |
Checksum | Optional | Numeric | Checksum of full barcode file in 16-bit CCITT-16 (x^16 + x^12 + x^5 + 1) |
The Universal Product Code is a barcode symbology that is used worldwide for tracking trade items in stores.
A barcode or bar code is a method of representing data in a visual, machine-readable form. Initially, barcodes represented data by varying the widths, spacings and sizes of parallel lines. These barcodes, now commonly referred to as linear or one-dimensional (1D), can be scanned by special optical scanners, called barcode readers, of which there are several types.
PDF417 is a stacked linear barcode format used in a variety of applications such as transport, identification cards, and inventory management. "PDF" stands for Portable Data File. The "417" signifies that each pattern in the code consists of 4 bars and spaces in a pattern that is 17 units (modules) long. The PDF417 symbology was invented by Dr. Ynjiun P. Wang at Symbol Technologies in 1991. It is defined in ISO 15438.
The Aztec Code is a matrix code invented by Andrew Longacre, Jr. and Robert Hussey in 1995. The code was published by AIM, Inc. in 1997. Although the Aztec Code was patented, that patent was officially made public domain. The Aztec Code is also published as ISO/IEC 24778:2008 standard. Named after the resemblance of the central finder pattern to an Aztec pyramid, Aztec Code has the potential to use less space than other matrix barcodes because it does not require a surrounding blank "quiet zone".
MaxiCode is a public domain, machine-readable symbol system originally created by the United Parcel Service (UPS) in 1992. Suitable for tracking and managing the shipment of packages, it resembles an Aztec Code or QR code, but uses dots arranged in a hexagonal grid instead of square grid. MaxiCode has been standardised under ISO/IEC 16023.
Code 128 is a high-density linear barcode symbology defined in ISO/IEC 15417:2007. It is used for alphanumeric or numeric-only barcodes. It can encode all 128 characters of ASCII and, by use of an extension symbol (FNC4), the Latin-1 characters defined in ISO/IEC 8859-1. It generally results in more compact barcodes compared to other methods like Code 39, especially when the texts contain mostly digits. Code 128 was developed by the Computer Identics Corporation in 1981.
A QR code is a type of two-dimensional matrix barcode, invented in 1994, by Japanese company Denso Wave for labelling automobile parts. A QR code consists of black squares arranged in a square grid on a white background, including some fiducial markers, which can be read by an imaging device, such as a camera, and processed using Reed–Solomon error correction until the image can be appropriately interpreted. The required data are then extracted from patterns that are present in both the horizontal and the vertical components of the QR image.
Interleaved 2 of 5 (ITF) is a continuous two-width barcode symbology encoding digits. It is used commercially on 135 film, for ITF-14 barcodes, and on cartons of some products, while the products inside are labeled with UPC or EAN.
A Data Matrix is a two-dimensional code consisting of black and white "cells" or dots arranged in either a square or rectangular pattern, also known as a matrix. The information to be encoded can be text or numeric data. Usual data size is from a few bytes up to 1556 bytes. The length of the encoded data depends on the number of cells in the matrix. Error correction codes are often used to increase reliability: even if one or more cells are damaged so it is unreadable, the message can still be read. A Data Matrix symbol can store up to 2,335 alphanumeric characters.
GS1 is a not-for-profit, international organization developing and maintaining its own standards for barcodes and the corresponding issue company prefixes. The best known of these standards is the barcode, a symbol printed on products that can be scanned electronically.
The International Article Number is a standard describing a barcode symbology and numbering system used in global trade to identify a specific retail product type, in a specific packaging configuration, from a specific manufacturer. The standard has been subsumed in the Global Trade Item Number standard from the GS1 organization; the same numbers can be referred to as GTINs and can be encoded in other barcode symbologies defined by GS1. EAN barcodes are used worldwide for lookup at retail point of sale, but can also be used as numbers for other purposes such as wholesale ordering or accounting. These barcodes only represent the digits 0–9, unlike some other barcode symbologies which can represent additional characters.
An EAN-8 is an EAN/UPC symbology barcode and is derived from the longer International Article Number (EAN-13) code. It was introduced for use on small packages where an EAN-13 barcode would be too large; for example on cigarettes, pencils, and chewing gum packets. It is encoded identically to the 12 digits of the UPC-A barcode, except that it has 4 digits in each of the left and right halves.
The GS1 Databar Coupon code has been in use in retail industry since the mid-1980s. At first, it was a UPC with system ID 5. Since UPCs cannot hold more than 12 digits, it required another barcode to hold additional information like offer code, expiration date and household ID numbers. Therefore, the code was often extended with an additional UCC/EAN 128 barcode. EAN 13 was sometimes used instead of UPC, and because it starts with 99, it was called the EAN 99 coupon barcode, and subsequently GS1 DataBar. After more than 20 years in use, there is now a need to encode more data for complex coupons, and to accommodate longer company IDs, so the traditional coupon code has become less efficient and sometimes not usable at all.
Barcode technology in healthcare is the use of optical machine-readable representation of data in a hospital or healthcare setting.
Extended Channel Interpretation (ECI) is an extension to the communication protocol that is used to transmit data from a bar code reader to a host when a bar code symbol is scanned. It enables the application software to receive additional information about the intended interpretation of the message contained within the barcode symbol and even details about the scan itself. ECI was developed as a symbology-independent extension of the Global Label Identifier (GLI) system used in the PDF417 bar code.
Barcode library or Barcode SDK is a software library that can be used to add barcode features to desktop, web, mobile or embedded applications. Barcode library presents sets of subroutines or objects which allow to create barcode images and put them on surfaces or recognize machine-encoded text / data from scanned or captured by camera images with embedded barcodes. The library can support two modes: generation and recognition mode, some libraries support barcode reading and writing in the same way, but some libraries support only one mode.
Codablock is a family of stacked 1D barcodes which was invented in Identcode Systeme GmbH in Germany in 1989 by Heinrich Oehlmann. Codablock barcodes are based on stacked Code 39 and Code 128 symbologies and have some advantages of 2D barcodes.
Han Xin code is two-dimensional (2D) matrix barcode symbology invented in 2007 by Chinese company The Article Numbering Center of China to break monopoly of QR code. As QR code, Han Xin code consists of black squares and white square spaces arranged in a square grid on a white background. It has four finder patterns and other markers which allow to recognize it with camera-based readers. Han Xin code contains Reed–Solomon error correction with ability to read corrupted images. At this time, it is issued as ISO/IEC 20830:2021.
DotCode is two-dimensional (2D) matrix barcode invented in 2008 by Hand Held Products company to replace outdated Code 128. At this time, it is issued by Association for Automatic Identification and Mobility (AIM) as “ISS DotCode Symbology Specification 4.0”. DotCode consists of sparse black round dots and white spaces on white background. In case of black background round dots, creating barcode, can be white. DotCode was developed to use with high-speed industrial printers where printing accuracy can be low. Because DotCode by the standard does not require complicated elements like continuous lines or special shapes it can be applied with laser engraving or industrial drills.
Rectangular Micro QR Code is two-dimensional (2D) matrix barcode invented and standardized in 2022 by Denso Wave as ISO/IEC 23941. rMQR Code is designed as a rectangular variation of QR code and has the same parameters and applications as original QR code. But rMQR Code is more suitable for the rectangular areas and has difference between width and height up to 19 in R7x139 version. In this way it can be used in places where 1D barcodes are used. rMQR Code can replace Code 128 and Code 39 barcodes with more effective data encoding.