Please enable JavaScript to view this site.

R:BASE 11 Help

Navigation: How To (Forms, Reports, and more) > Reports and Labels > Technical Documents > Understanding 2D Barcodes

PDF417

Scroll Prev Top Next More

PDF417 is a variable length, two-dimensional, stacked symbology that can store up to 2710 digits, 1850 printable ASCII characters or 1108 binary characters per symbol. PDF417 is designed with selectable levels of error correction. Its high data capacity can be helpful in applications where a large amount of data must travel with a labeled document or item. Like other barcodes, PDF417 has a well defined physical structure. The below describes each of these structural components.

 

Start / Stop Patterns

 

Every bar code has a start pattern on the left, and a stop pattern on the right. These patterns are unique for each type of bar code. PDF417's unique start and stop patterns are:

 

bc3

 

Codewords

In a PDF417 bar code, each bar and space does not store data. Data is actually stored in codewords. A codeword is a consecutive sequence of 4 bars and 4 spaces totaling 17X wide. The 417 in PDF417 refers to this codeword structure. Codewords reside between the start pattern on the left, and the stop pattern on the right. This region contains several types of codewords including data codewords, control codewords, and row indicator codewords. Each of these codewords abides by the rules described above. The picture below points out a single PDF417 codeword:

 

bc4

 

Row Indicators Codewords

Adjacent to the start and stop patterns, are PDF's right and left row indicators. These indicators are codewords that are used to store information required to decode the PDF417 symbol. This includes the row number, number or rows, number of columns, and the error correction level used.

 

bc5

 

Data Codeword Region

User data is first encoded into codeword values. These codeword values are then converted into physical codewords represented by bars and spaces as described above. Data codewords are physically located between the left and right row indicator codewords.

 

bc6

 

Rows

If you look closely at a PDF417 symbol, you will notice that it appears to be made of many "1D-like" bar codes. In reality, it is made up of multiple rows. A PDF417 bar code can have anywhere from 3 to 90 rows. This allows a PDF417 symbol to be reshaped by adjusting the number of rows. The following PDF417 symbol has 5 rows:

 

bc9

 

Columns

A PDF417 symbol is made up of multiple data columns, which are sometimes referred to as the data column area. The number of data columns can vary from 3 to 30, to accommodate user's real estate requirements. These columns contain encoded data, as well as error correction information. Within the data column area, a single PDF417 can contain no more than 928 codewords. An example of a 3 column PDF417 symbol appears below:

 

bc6

 

Error Correction

The PDF417 symbology has error correction capability. This capability enables scanners to read the bar code even if it has been torn, written on, or damaged in other ways. How much damage a symbol can withstand depends on the amount of error correction in each PDF417 symbol. The user has the ability to select 1 of 9 error correction levels for each symbol printed. Error correction is specified by selecting a level from 0 to 8. At level 0, a damaged PDF417 cannot be read, but the damage can be detected. At levels 1 through 8, a PDF417 symbol can still be read, even when damaged. As the error correction level increases, more damage can occur to the symbol and still be read. Consequently, the higher the error correction level, the larger the symbol becomes, while the data capacity goes down. The following table illustrates these facts:

 

 

Error Correction

Level

Error Correction

Codewords

Error Correction

Capacity

Maximum Text

Capacity

0

2

0

1850

1

4

1

1846

2

8

3

1838

3

16

7

1822

4

32

15

1790

5

64

31

1726

6

128

63

1598

7

256

127

1342

8

512

255

830

 

 

Error Correction Capacity

PDF417 symbols can be damaged and still decoded. The amount of damage that a symbol can withstand is it's error correction capacity. For example, at level 5 error correction, 64 codewords of error correction are used. At this level, 31 codewords can have errors, while still being read correctly. If more than 31 errors exist, the symbol is unreadable.