PDF417 Bar Code

The ^B7 (PDF417) bar code instruction is a two-dimensional multirow,
continuous, stacked symbology. This bar code is capable of
encoding over 1000 bytes of data per label. It is ideally suited to
applications where large amounts of information are required at the
time the bar code is read.

  The code consists of 3 to 90 stacked rows. Each row consists of
start/stop patterns and symbol characters called "codewords". A
"codeword" consists of 4 bars and 4 spaces. The minimum number of
"codewords"per row is 3.

  Print Ratio is Fixed.

 Basic example ZPL format with PDF417 using ^B7

^XA^BY2,3
^FO50,50^B7N,5,5,,83,N
^FDZebra Technologies strives to be the expert supplier of innovative solutions to specialty demand labeling and ticketing problems of business and government. We will attract and retain the best people who will understand our customer's needs and provide them with systems, hardware, software, consumables and service offering the best value, high quality, and reliable performance, all delivered in a timely manner.^FS
^XZ

PDF417 ZPL example commonly used for automotive applications

^XA
^FO50,50^BY3,3^B7N,8,5,7,21,N^FH_^FD[)>_1E06_1DP12345678_1DQ160_1D1JUN123456789A2B4C6D8E
_1D20LA6-987_1D21L54321 ZES_1D15KG1155_1DBSC151208_1D7Q10GT_1E_04^FS
^XZ

Sample FedEx ground shipping label pdf417 ZPL code

^XA
^BY2
^FO100,400^B7N,11,5,12^FH^FD[)>_1E01_1D0255317_1D840_1D019
_1D000000000000000_1DRPSB_1D0000000_1D200_1D _1D1/1_1D13.0LB
_1DN_1D2965 WATER TOWER PL_1DCHANHASSEN_1DMN_1DCINDY JO TUCKETT

_1E06_1D10ZGD002_1D11ZALL ABOUT LIGHTS,INC._1D12Z9523687288_1D23ZN
_1D22Z _1DN_1D20Z _1D0_1D19ZN_1D9K724580_1D26Z8b75_1C_1D_1E_04
^FS
^XZ

Link to FedEx specs (June 2005 version)
On page 17 of 59 table 3 accounts for the primary format shown in green in the above zpl sample.
On page 29 of 59 table 9 appears to be a secondary format that is appended...shown in red.
This pdf417 symbol is made using the two formats from the these tables.
There a several variations of the secondary format that get appended. The link shows the other variations also.

 

The format for the ^B7 instruction is:

The format for the ^B7 instruction is: ^B7o,h,s,c,r,t

where

^B7 = PDF417 Bar Code

o = Orientation
Default value: Current ^FW value
(^FW defaults to N = Normal at power-up)
Other values:
N = Normal
R = Rotated, 90 degrees clockwise
I = Inverted, 180 degrees
B = Read from Bottom Up, 270 degrees

h = Bar Code Height for Individual Rows
(This number, multiplied by the module, equals the
height of the individual rows in dots.)
Default value: Value set by ^BY
Other values: 1 dot to height of label.
NOTE: 1 is not a recommended value.

s = Security Level
Determines the number of error detection and correction
code words to be generated for the symbol.
Default level provides only error detection (no correction).
Increasing the security level adds increasing
levels of error correction. (Increases symbol size.)
Default value: 0 = Error detection only
Other values: 1 to 8.
Error detection plus correction.

c = Number of Data Columns to Encode
User can specify number of codeword columns giving
control over the width of the symbol.
Default value: 1:2 row/column aspect ratio.
Other values: 1 to 30

r = Number of Rows to Encode
User can specify number of symbol rows giving control
over the height of the symbol.
Default value: 1:2 row/column aspect ratio.
Other values: 3 to 90
Example: With no row or column values entered, 72
codewords would be encoded into a symbol of 6 columns
and 12 rows. (Depending on codewords, aspect ratio
will not always be exact.)

t = Truncate Right Row Indicators and Stop Pattern
Default value: N = No truncation
Print right row indicators and stop pattern.
Other value: Y = Yes perform truncation.

NOTES:

1. If both columns and rows are specified, their product must be
less than 928.

2. No symbol printed if columns x rows > 928.

3. No symbol printed if total codewords > columns x rows.

4. Serialization is not allowed with this bar code.

5. The truncation feature can be used in situations where label
damage is not likely. The right row indicators and stop pattern
will be reduced to a single module bar width.

Special considerations for the ^BY instruction when using PDF417.

The parameters for the ^BYw,r,h instruction when used with a ^B7
PDF417 code are as follows;

w = Module width. (Default = 2) Limited to 10.
r = Ratio (Default = 3) Fixed. Has no effect on PDF417.
h = Height of bars. Overall symbol height.
PDF417 uses this as the overall symbol height only when
the row height is not specified in the ^B7 'h' parameter.

Special considerations for the ^FD character set when using PDF417.

The character set sent to the printer includes the full ASCII set except
for those characters with special meaning to the printer.

CR/LF have become valid characters for all ^FD statements. The following
scheme will be used.

\& = carriage return/line feed
\(*) = soft hyphen (word break with a dash)
\\  = \ (See Item 1 below)
(*) = Any alpha/numeric character.

Item 1: ^CI13 must be selected in order to print a \.

Item 2: If a soft hyphen is placed near the end of a line,
the hyphen will be printed. If it is not placed
near the end of the line, it will be ignored.
(Ignored in ^B7 barcode.)

Field HEX

The ^FH (Field HEX) instruction allows you to enter the hexadecimal
value for any character directly into the ^FD statement. The ^FH
instruction must precede each ^FD instruction in which it will be
used.
Within the ^FD statement, the HEX indicator must precede each
Hexadecimal value. The default HEX indicator is the underscore "_".
The "a" parameter can be added when a different HEX indicator is
needed.

This instruction can be used with any of the instructions that have
field data (i.e. ^FD, ^FV (Field Variable), and ^SN (Serialized
Data)).

Valid HEX characters are:

0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f

The format for the ^FH instruction is:

^FH

where

^FH = Field HEX Instruction

a = HEX Indicator
{I.V.P. = _ (underscore)}
Other Acceptable values: Any character except current
Format and Control prefix.

Example:

^FO100,100^AD^FH^FDTilde _7e used for HEX^FS

^FO100,100^AD^FH\^FDTilde \7E used for HEX^FS