Each PDF417 symbol contains between 3 and 90 rows. Each row consists of a start pattern, a left row indicator codeword, 1 to 30 characters of data, a right row indicator codeword, and a stop pattern. Each codeword consists of 4 bars and 4 spaces made up of 17 rectangular modules in one row. Error correction and row height are both variable and adjustable. A symbol with error correction set to zero supports up to 1850 text characters, 2710 digits, or 1108 bytes.
You can include macro strings in a PDF417 barcode by using a codeword that identifies the macro. To do this enter into the data stream a control string with the form ^(nnn) where nnn is the identifier of the macro. For example, 916 is the identifier of the 05 Macro and 917 is the identifier of the 06 Macro. When BarTender creates the barcode, it will change the "^(nnn)" string into an identifying codeword. Here is an example of a data stream that uses such a codeword:
^(917)11PSOOJCCECAA«GS»SWECO03--B309000000«GS»1P109453902«GS»2PS1:1
Consult the International Symbology Specification for PDF417 for a list of the available codewords.