0

I've been getting into barcodes lately and I decided to scan my drivers license (PDF417) to see how all the data was encoded.

I discovered that the barcode on my license encoded ~3000 characters, while the documentation (according to a few sources I've been reading) says 1800 characters absolute max.

How do the DMV and other organizations store so much data on PDF417 barcodes, when I can't seem to store more than 1000 character's worth?

Thanks in advance!

lumpychum
  • 57
  • 8

2 Answers2

1

In the ISO 15438 specification for PDF417 symbology, section 5.1.1.c: 925 is the maximum number of data codewords at error correction level of 0 which is not recommended.

At minimum recommended error correction level (level 5 in this case), which is dependent upon the number of data codewords, you are looking at a maximum of 863 data codewords with 64 codewords used for error correction.

Text compaction mode gives us 1,726 characters. Binary compaction mode gives us 1,108 bytes. Numeric compaction mode gives us a whopping 2,528 numbers.

The three modes can be switched anywhere within the symbol, which allows us to optimize numeric fields if they are long enough to warrant the cost of the switch (at least 6 numbers in a row).

I just scanned the pdf417 on the back of my driver's license and it had 348 bytes (ASCII characters) in it. I am having a difficult time understanding 3000 characters.

It is entirely possible to encode more than 1800 characters if you are able to make liberal use of the 902 codeword for the Numeric compaction latch, however.

Brian Anderson
  • 1,661
  • 1
  • 17
  • 27
0

According Wikipedia, a PDF417 can store a maximum of 90 rows, and each row a maximum of 30 codewords.

Then 5 codewords could encode 6 bytes, or 44 digits with 15 codewords, or 1 codewords could encode 2 "letters".

So you have as maximum: 2700 codewords or 3200 bytes, or 7920 digits, or 5400 "letters".

Giacomo Catenazzi
  • 8,519
  • 2
  • 24
  • 32