This document is a tutorial for encoding
data into PDF417 bar codes. It is a step-by-step guide with a
direct and practical approach. It will explain how we can convert
data into a PDF417 bar code.
One primary objective during the
development of PDF417 was to provide the users with an extremely
flexible symbology that could satisfy a wide variety of unique
requirements. PDF417, we believe, achieves that objective.
If you are a bar code hardware manufacturer,
as you review the PDF417 Specification and this tutorial, please
keep in mind the user-specified options and plan your hardware
and software implementation accordingly. The user-specified
options are x-dimension, y-dimension, symbol aspect ratio, and security level.
PDF417, or Portable Data File 417, is a two-dimensional
stacked bar code symbology capable of encoding over a kilobyte of
data per label. This is important for applications where a bar
code must be more than merely an identifier such as an index to
reference a database.
The “portable data file” approach is
well suited to applications where it is impractical to store item
information in a database or where the database is not accessible
when and where the item’s bar code is read. Because a PDF417
symbol can store so much data, item data such as the content of
shipping manifest or equipment maintenance history can be carried
on the item, without requiring access to a remote database.
Encoding data into a PDF417 bar code is a
two-step process. First, data is converted into codeword
values of 0 - 928, which represent the data. This is “high-level
encoding.” Then the values are physically represented by
particular bar/space patterns, which is “low-level encoding.”
Decoding is the reverse process.
In addition, PDF417 is an error-correcting
symbology designed for real-world applications where portions of
labels can get destroyed in handling. It performs error
correction by making calculations, if necessary, to reconstruct
undecoded or corrupted portions of the symbol.
At first glance, a PDF417 symbol looks like a set of stacked bar codes. When we look closer to analyze how the symbol is put together, there are several key elements. These are rows, start patterns, stop patterns, codewords, and modules.
