Le
PDF-417 peut contenir jusqu'à 1'850 caractères alphanumériques ou 2'710 caractères numériques.
La composition du PDF-417 se fait en deux étapes:
- les données sont converties en "CodeWord" (codage de haut niveau)
- les CodeWords sont ensuite convertis en motifs noirs et blancs.
(codage de bas niveau)
Il comporte un système de correction des erreurs qui permet de reconstituer des données mal imprimées, effacées, floues,
tachées ou manquantes.
Structure :
- La largeur de la barre la plus fine est appelée le module.
- Un module noir est symbolisé par "1" et un module d'espace par "0".
- Le code contient de 3 à 90 lignes.
- Une ligne se compose de 1 à 30 colonnes de donnés, sa largeur est
de 90 à 583 modules avec les marges.
- Nombre maximum de CodeWords par symbole: 928 dont 925 pour les
données.
(1 pour le descripteur de longueur et 2 au minimum pour la correction d'erreurs)
- Si nécessaire un mécanisme nommé "Macro PDF-417" permet
de répartir davantage de données sur plusieurs symboles PDF-417.
- Il existe 929 CodeWords dont 900 pour les données, ils sont numérotés de 0 à 928.
- Le niveau de correction des erreurs va de 0 à 8. La correction
comporte 2 CodeWords (au niveau 0) et 512 CodeWords (au niveau 8).
- La ligne se compose d'un caractère Start, d'un CodeWord de LeftSide,
de 1 à 30 CodeWord de données, d'un CodeWord de RightSide et d'un
caractère de fin.
- Il doit y avoir une Quiet Zone d'au moins 2 modules de chaque
coté.
- Des CodeWords de remplissage peuvent s'intercaler entre les données
et les CodeWords de correction, ceux-ci devant être à la fin.
- Le premier CodeWord indique le nombre total de CodeWords du symbole
incluant : les données, les CodeWords de remplissage et lui-même
mais excluant les CodeWords de correction.
Exemple d'un code avec 10 CodeWords de données,
un 11ème CodeWord pour indiquer le total,
un CodeWord de remplissage et
4 CodeWords de correction d'erreurs (niveau 1).
S
t
a
r
t
|
L1 |
D11 |
D10 |
R1 |
S
t
o
p
|
L2 |
D9 |
D8 |
R2 |
L3 |
D7 |
D6 |
R3 |
L4 |
D5 |
D4 |
R4 |
L5 |
D3 |
D2 |
R5 |
L6 |
D1 |
D0 |
R6 |
L7 |
C3 |
C2 |
R7 |
L8 |
C1 |
C0 |
R8 |
D11 = descripteur de longueur
D1 à D10 = données
D0 = CodeWord remplissage
L1 à L8 = CodeWord LeftSide
R1 à R8 = CodeWord RightSide
C0 à C3 = correction d'erreurs.
|
|
Codage :
- Chaque CodeWord est composé de 17 modules, il comprend 4 barres et
4 espaces (Le PDF-417 tire son nom de cette méthode) et il débute par
une barre.
- Les barres et les espaces font de 1 à 6 modules de large. (Sauf
pour les caractères Start et Stop)
- Le caractère Stop est lui composé de 18 modules.
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
Start |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Il existe 3 tables distinctes pour coder les 929 CodeWords.
Cliquez ici
pour voir les 3 tables (fichier Acrobat)
- Chaque ligne n'utilise qu'une table de codage, cette table sera
réutilisée 3 lignes plus loin :
- la ligne 1 utilise la table 1,
- la ligne 2 utilise la table 2,
- la ligne 3 utilise la table 3,
- la ligne 4 utilise à nouveau la table 1, etc.
- Les données sont compressées dans les CodeWords selon trois modes
conçus en fonction de leur efficacité par rapport au type des
données.
- Le mode par défaut est le mode "Text".
Compaction mode |
Datas to encode |
Rate compaction |
Byte |
ASCII 0 to 255 |
1.2 bytes/CodeWord |
Text |
ASCII 9, 10, 13 & 32 to 127 |
2 characters/CodeWord |
Numeric |
digits 0 to 9 |
2.9 digits/CodeWord |
Correction d'erreurs :
- Le système de détection d'erreurs utilise 2 CodeWords et le système
de correction en utilise de 2 à 510.
- Le système de correction utilise la méthode de
"
Reed-Solomon".
Ces codes de correction d'erreurs sont utilisés
également par les Compact Disks, DVD, téléphones cellulaires,
satellites, modems ADSL, etc.
- Le nombre de CodeWords à ajouter au code est fonction du niveau de
correction que l'on applique, du fait de la limitation du code à 928
CodeWords (Dont 1 pour le nombre de CodeWords) le niveau maximum est
limité par le nombre de CodeWords de données.
Le nombre de CodeWords que l'algorithme de correction des erreurs peut
reconstituer est égal au nombre de CodeWords requis par le système
de correction.
Informations Gomaro s.a.