PDF417
PDF417 est le code-barres 2D linéaire empilé qui apparaît au dos de chaque permis de conduire américain, sur la plupart des passeports américains, sur les lettres de transport FedEx/UPS et sur d'innombrables formulaires gouvernementaux. C'est la seule symbologie 2D que les scanners laser 1D peuvent lire de manière fiable, c'est pourquoi les institutions avec des parcs de scanners installés à plusieurs millions ne l'ont pas abandonnée depuis 30 ans.
Application AAMVA :AAMVA Card Design Standard v10, impose PDF417 pour les permis de conduire américains/canadiens.
Créateur : Symbol Technologies (maintenant Zebra), 1991. Le nom signifie « Portable Data File, 4 bars, 17 modules. »
Ce que c'est
Physiquement, un symbole PDF417 est une pile de lignes horizontales, chaque ligne est un code-barres linéaire. Un PDF417 pleine taille ressemble à une brique haute et étroite avec ~3–90 lignes, où chaque ligne porte une portion du payload global. Parce que chaque ligne commence par un motif de départ et se termine par un motif d'arrêt, PDF417 peut être décodé par un laser balayant de gauche à droite ligne par ligne, pas d'imageur 2D requis.
Chaque mot de code fait 17 modules de large, composé de 4 barres et 4 espaces (d'où « 4/17 »). Le payload est réparti sur les mots de code en utilisant l'un des trois « modes de compactage » :
- Compactage texte, 1,8 char/mot de code. Pour les alphanumériques mixtes.
- Compactage octet, 1,2 octet/mot de code. Pour les données binaires arbitraires.
- Compactage numérique, 2,9 chiffres/mot de code. Pour les payloads numériques longs (comme les combinaisons code postal+état d'AAMVA).
Capacité (lignes × colonnes)
La taille PDF417 est spécifiée en lignes × colonnes de données. Le maximum est 90 lignes × 30 colonnes de données = 2 700 mots de code de données. Capacité alphanumérique approximative :
| Lignes × cols. de données | Max. alphanumérique | Utilisation typique |
|---|---|---|
| 3 × 1 | ~3 caractères | Symbole minimum viable |
| 10 × 3 | ~30 caractères | IDs courts, URLs courts |
| 20 × 5 | ~100 caractères | Carte d'embarquement, AAMVA court |
| 30 × 8 | ~250 caractères | Lettre de transport FedEx |
| 40 × 12 | ~500 caractères | Permis de conduire AAMVA complet |
| 90 × 30 | ~1 800 caractères | Maximum théorique, rarement utilisé |
Niveaux de correction d'erreurs (0–8)
PDF417 définit 9 niveaux de correction d'erreurs Reed-Solomon, ajoutant 2, 4, 8, 16, 32, 64, 128, 256 ou 512 mots de code ECC. Les niveaux plus élevés gèrent plus de dommages mais coûtent de la capacité de payload.
| Niveau ECC | Mots de code ECC | Utilisation typique | % de surcharge |
|---|---|---|---|
| 0 | 2 | Expérimental uniquement | ~0,1 % |
| 1 | 4 | Codes courts, environnement contrôlé | ~0,2 % |
| 2 | 8 | Petits payloads | ~0,4 % |
| 3 | 16 | Payloads moyens, scan intérieur | ~0,8 % |
| 4 | 32 | Par défaut pour les documents courts | ~1,5 % |
| 5 | 64 | Défaut réel, lettres de transport, cartes d'embarquement, AAMVA | ~3 % |
| 6 | 128 | Environnements très endommagés | ~6 % |
| 7 | 256 | Froissé / extérieur / industriel | ~12 % |
| 8 | 512 | Environnements extrêmes | ~25 % |
Macro PDF417 (payloads multi-symboles)
Lorsqu'un payload dépasse la limite de 1 800 caractères, PDF417 prend en charge Macro PDF417, le payload est réparti sur jusqu'à 99 999 symboles séparés, chacun marqué d'un index Macro et d'un ID de fichier. Le scanner lit tous les symboles dans n'importe quel ordre, les réassemble et émet un unique payload décodé. Rare en pratique en dehors du scan spécialisé de documents.
Vecteurs de test canoniques
| Cas | Payload | Sous-chaîne attendue |
|---|---|---|
| Lettre de transport GS1 (style FedEx) | 123456789012345 FEDEX 2026-04-20 | FEDEX |
| Permis de conduire AAMVA (minimal) | @\n\x1e\rANSI 636014100002DL00410241ZVZVA01DAQA123456789 | ANSI 636014 |
| URL courte simple | https://example.com/doc/X1234 | example.com/doc/X1234 |
| Long reçu / facture | INV:2026-04-19 VENDOR:ACME TOTAL:$1,234.56 TAX:$98.76 … | ACME |
Pièges courants
- Les caméras téléphone grand public ne décodent pas PDF417 de manière fiable. iOS 17+ a un flux spécial reconnaissant AAMVA (Wallet reconnaît les permis de conduire américains), mais traiter ça comme « iPhone supporte PDF417 » est trompeur, c'est uniquement pour le payload AAMVA spécifique. Le comportement Android varie énormément selon l'application caméra OEM.
- AAMVA exige PDF417. L'AAMVA Card Design Standard (CDS) exige PDF417 spécifiquement, pas QR, pas Aztec. Si vous générez des payloads AAMVA, le standard vous y oblige.
- Les zones calmes font 2× la largeur du module. Différent du QR (4 modules) et d'Aztec (aucune). PDF417 a besoin d'au moins 2 modules d'espace blanc sur les bords gauche et droit ; une zone calme incorrecte est la raison n°1 pour laquelle les codes PDF417 légitimes échouent au scan.
- Le rapport d'aspect compte. Les lignes PDF417 sont plus larges que hautes par conception. Forcer un rapport d'aspect carré (par mise à l'échelle ou impression sur substrat carré) casse le décodage du scanner laser ; les imageurs 2D peuvent parfois récupérer.
- PDF417 tronqué. Variante qui omet l'indicateur de ligne droite + motif d'arrêt. Économise ~12 % de la largeur du symbole mais ne décode que sur les imageurs 2D, les scanners laser ont besoin du motif d'arrêt. À utiliser uniquement quand on connaît la classe du scanner.
- Sélection automatique du mode de compactage. Les bons encodeurs changent de mode de compactage à mi-payload pour l'efficacité (bloc numérique → bloc texte). Les encodeurs manuels bloqués sur un seul mode gaspillent de la capacité. L'encodeur d'Abundera sélectionne automatiquement par mot de code.
- Mode de compactage et jeu de caractères. Le compactage texte ne gère que l'ASCII imprimable. Les NUL intégrés, les accents Latin-1 ou les données binaires forcent le Compactage d'Octets, qui réduit l'efficacité à 1,2 octet/mot de code.
- Style désactivé. Les fonctionnalités spécifiques QR (formes de points personnalisées, dégradés, logos centraux) ne s'appliquent pas. Le panneau Style d'Abundera se désactive automatiquement pour PDF417.
Compatibilité des scanners
| Lecteur | Support PDF417 | Notes |
|---|---|---|
| Caméra iOS (iOS 17+) | AAMVA uniquement | Flux Wallet natif pour les permis américains. Les payloads PDF417 généraux ne décodent pas. |
| Caméra Android (dépendant OEM) | Partiel | Les caméras stock Samsung + Pixel décodent de façon inconsistante. Google Lens partiel. |
| Google Lens | Non fiable | Pas un chemin de vérification viable pour la production. |
| Scanner DMV US / kiosque | Oui (canonique) | C'est pour ça que PDF417 a été conçu, chaque DMV et kiosque de débit de boissons lit PDF417 nativement. |
| Lecteur de carte d'embarquement | Certaines compagnies | La plupart sont passées à Aztec ; quelques-unes (ANA, JAL, compagnies US héritées) acceptent encore les cartes PDF417. |
| Lecteur de lettre de transport FedEx / UPS | Oui (canonique) | Les scanners laser dans tous les centres de tri lisent PDF417 nativement. |
| Scanner laser 1D | Oui | Avantage unique vs Aztec / Data Matrix, les lasers 1D PEUVENT décoder PDF417. |
| Imageur Zebra / Honeywell / Datalogic | Oui | Chaque imageur 2D industriel supporte PDF417. |
| Scandit / Dynamsoft SDK | Oui | Support complet incluant Macro PDF417. |
Voir aussi
- /pdf417-barcode-generator/, le générateur PDF417.
- Référence AAMVA, le cas d'usage canonique de PDF417 (permis de conduire américains). Imposé par la spécification.
- Aztec · PDF417 · Data Matrix comparatif, comparaison côte à côte.
- Référence Aztec, le symbole privilégié pour l'affichage, pour les cartes d'embarquement et le transport.
- Référence Data Matrix, le symbole pour le marquage direct de pièces.
- Index des standards, retour au centre de référence.