pdf-417 barcode overview
How do PDF-417 Barcodes Work?
PDF-417 barcodes can pack more data into the same space than conventional 1-D barcodes, and are very useful for applications that need to encode more than 20 characters in a barcode. A PDF-417 barcode is split into columns, guarded by 5 black bars on each side, and each column is split into rows of clusters. Each cluster encodes a value which, taken with all the other values, defines the encoded string.
The left hand column of data (and the right hand column in non-compact versions) define the structure of the barcode. They tell the reader how many columns and rows are in the barcode and what level of error correction is being used. There are 6 different widths of bar, so it’s unusual for a barcode reader to decode every cluster correctly and so the error correction level is important. A very high level will enable a reader to correct a lot of un-readable clusters, but it will also add to the total number of clusters in the barcode. A low level will help to keep down the total number of clusters, but will limit the amount of correction that the reader can perform.
Examples
If we compare how a string of 10 digits is represented in the highest density conventional barcode (Code 128) and PDF-417 then we can see that the PDF-417 barcode is too complex to make it worth while…
On the other hand, if we increase the number of digits from 10 to 40 then the Code 128 barcode becomes long and vulnerable to marks on the image….
Where as the PDF-417 barcode needs less space and, due to built in error correction, is less vulnerable to marks on the image…
Size Recomendations
As a general rule each column of a PDF-417 barcode should occupy around 50 pixels or more in an image, although it’s possible to go down to around 30 pixels and still achieve some success. Each row should be at least 7 pixels high. The correct error correction value depends on the quality of the scan, but values of 4 or 5 seem to give the best results (An error correction value of 4 allows the reader to ignore up to 29 un-readable clusters).
More information on PDF-417 barcodes can be found at http://www.barcodeman.com/faq/2d.php