PDF417
|
Sample_pdf417.png
PDF417 Barcode made with kbarcode
PDF417[1] (http://www.pdf417.com) is a 2-dimensional barcode (also known as matrix code) used in a variety of applications, including Transport, Identification cards, and Inventory management. It is best suited for cases where information needs to move with an item or document. PDF stands for Portable Data File. The PDF417 format was developed by Symbol Technologies [2] (http://www.symbol.com), and has spawned an Open Source decoder project[3] (http://sourceforge.net/projects/pdf417decode/) together with an Open Source encoder[4] (http://sourceforge.net/projects/pdf417lib/).
Format
The PDF417 barcode (also called a symbol) consists of several (minimum 3, maximum 90) rows, each of which is like a small linear barcode. Each row has:
- a quiet zone. This is a mandated minimum amount of white space before the barcode begins.
- a start pattern which identifies the type of symbol as PDF417. Every type of bar code symbology has a unique start and stop pattern.
- a "row left" codeword containing information about the row (such as row number and what error correction rate the row is using)
- 1 - 30 data codewords : Codewords are a group of bars and spaces representing one or more numbers, letters, or other symbols.
- All rows have the same number of codewords.
- Every codeword contains four bars and four spaces (where the 4 in the name comes from).
- The total width of a codeword is 17 times the width of the narrowest allowed vertical bar (the X dimension). This is where the 17 in the name comes from.
- Each codeword starts with a bar and ends with a space.
- There are 929 codewords to choose from, 900 for data, and 29 for special functions.
- Each codeword is printed using one of three distinct clusters:
- A cluster is a bar-space pattern for each of the 929 codewords
- no bar-space pattern is repeated between clusters
- The row number determines which cluster to use
- the cluster is the same for all codewords in a row.
- The purpose of clusters is to determine which row (mod 3) the codeword is in, allowing the scan to be skewed from the horizontal. For instance, the scan might start on row 6 at the start of the row, and be on row 10 at the end.
- a "row right" codeword with more information about the row.
- a stop pattern.
- a quiet zone.
This symbology is used by stamps.com to generate postage accepted by the United States Postal Service.
For more details, see [5] (http://www.symbol.com/products/barcode_scanners/2d_about_2d_symbology.html) and [6] (http://pdf417.com/PDF417_tutorial/pdf417_tutorial_table_of_contents.htm). The official standard for PDF417 is available at [7] (http://www.aimglobal.org/standards/aimpubs.htm) and at [8] (http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=27681&ICS1=35). Note that although it is in the public domain[9] (http://www.symbol.com/news/pressreleases/press_releases__pdf417prod__cl.html), a fee is charged to purchase[10] (http://www.aimglobal.org/aimstore) the standard.
Features
- More storage of data than linear (1-dimensional) barcodes. PDF417 barcodes can store up to 2710 characters
- Error correction. The PDF417 code can detect and correct erasures, smudges, misprints and other errors, with a configurable amount of redundancy
- Data compaction. Several schemes are defined for representation of certain types of data in a smaller space.
- Fast reading. It is not significantly slower than reading a linear barcode
- Linking. PDF417 symbols can link to other symbols which are scanned in sequence allowing even more data to be stored.
- Cross-row scanning. This means that a barcode scanner doesn't need to read the symbol in an exactly horizontal pattern.
- Bi-directionally decodable. The symbols can be scanned from either the top or the bottom equally easily.
- User-specified dimensions. The user can decides how wide the narrowest vertical bar (X dimension) is, and how tall the rows are (Y dimension).
- Public domain format. Anyone can implement systems using this format without any license.
External Links
- Free font and Windows encoder (http://grandzebu.net/informatique/codbar-en/pdf417.htm)
- Symbol Technologies (http://www.symbol.com)
- SourceForge Open Source PDF417 decoder project (http://sourceforge.net/projects/pdf417decode/)
- SourceForge Open Source PDF417 encoder project (http://sourceforge.net/projects/pdf417lib/)
- Barcode Basics & PDF417 Symbology Overview (http://www.symbol.com/products/barcode_scanners/2d_about_2d_symbology.html)
- PDF417 tutorial (http://pdf417.com/PDF417_tutorial/pdf417_tutorial_table_of_contents.htm)
- Association for Automatic Identification and Mobility -- Official PDF417 Standard (http://www.aimglobal.org/standards/aimpubs.htm)
- ISO/IEC 15438:2001 Information technology -- Automatic identification and data capture techniques -- Bar code symbology specifications -- PDF417 (http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=27681&ICS1=35)
- Symbol Technologies Clarifies PDF417 Intellectual Property Policy (http://www.symbol.com/news/pressreleases/press_releases__pdf417prod__cl.html)
- Purchase the PDF417 Standard (http://www.aimglobal.org/aimstore)
- Patent describing the PDF417 format (http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/srchnum.htm&r=1&f=G&l=50&s1=%275243655%27.WKU.&OS=PN/5243655&RS=PN/5243655)