PDF417 is a stacked barcode symbology, consisting of codewords, or individual barcodes, arranged in rows and columns. This allows a large amount of data to be encoded in a single symbol. PDF417 also utilizes Reed-Solomon error correction routines, enabling damaged symbols to be reconstructed. The symbology is capable of encoding the entire (255 character) ASCII set as well as 2725 data characters in a single barcode.
The low level structure of a PDF417 symbol consists of an array of code words (small bar and space patterns) that are grouped together and stacked on top of each other to produce the complete printed symbol. An individual code word consists of a bar and space pattern 17 modules wide. The user may specify the module width, the module height, and the overall aspect ratio (overall height to width ratio) for the complete symbol. A complete PDF417 symbol consists of at least 3 rows of up to 30 code words and may contain up to 90 code word rows per symbol with a maximum of 928 code words per symbol.
The code words in a PDF417 symbol are generated using one of three data compaction modes currently defined in the symbology specifications. This allows more than one character to be encoded into a single data code word. Because different data compaction algorithms may be used, it is possible for different printed symbols to be created from the same input data. The symbology also allows for varying degrees of data security or error correction and detection. Nine different error correction levels are available with each higher level adding additional overhead to the printed symbol.