VI

Dotnet

PDF417 Barcode Source Code in VB6, VB.Net, C#

This code is part of 2 dimentional code family, it's in fact a code with several rows which can encode up to 2700 bytes what explain its name of "Portable Document File". The encoding is done in two stages : first the datas are converted to "codeword" (High level encod...

Description

This code is part of 2 dimentional code family, it's in fact a code with several rows which can encode up to 2700 bytes what explain its name of "Portable Document File". The encoding is done in two stages : first the datas are converted to "codeword" (High level encoding) then those are converted to bars and spaces patterns. (Low level encoding) Moreover an error correction system with several levels is included, it allows to reconstitute badly printed, erased, fuzzy or torn off datas. In the continuation of this talk, the word "codeword" will be shortened into CW.

The general structure.

The width of the finest bar is called the module.
Thereafter a bar module is symbolized by "1" and a space module by "0".
The code is composed of 3 to 90 rows.
A row is made of 1 to 30 datas columns and its width goes from 90 to 583 modules with the margins.
Maximum number of CW in a bar codes : 928 including 925 for the datas. (1 for the length descriptor and 2 at least for the error correction.)
If necessary a mechanism named "Macro PDF417" allows to distribute more datas on several bar codes.
There are 929 CW including 900 for the datas, they are numbered from 0 to 928.
The errors correction levels goes from 0 to 8. The correction comprises 2 (on level 0) to 512 (on level 8) CW.
The row consists of a start character, a left side CW, 1 to 30 datas CW, a right side CW and a stop character. There must be a white margin of at least 2 modules on each side.
CW of padding (We'll use by example "900") can be intercalated between datas and correction CW, those must be located at the end.
First CW indicates CW total number of the code including: datas, CW of stuffing and itself but excluding CW correction.
Sample of code with 14 datas CW, a 15th CW indicate CW number, one padding CW and 4 correction CW. (Level 1)

Additional Information