PDF417
PDF417 è il codice a barre 2D lineare impilato che appare sul retro di ogni patente di guida statunitense, sulla maggior parte dei passaporti USA, sui documenti di trasporto FedEx/UPS e su innumerevoli moduli governativi. È l'unica simbologia 2D che gli scanner laser 1D possono leggere in modo affidabile, ecco perché le istituzioni con flotte di scanner installati da milioni di dollari non l'hanno abbandonata in 30 anni.
Applicazione AAMVA:AAMVA Card Design Standard v10, impone PDF417 per le patenti USA/canadesi.
Creatore: Symbol Technologies (ora Zebra), 1991. Il nome sta per "Portable Data File, 4 bars, 17 modules."
Cos'è
Fisicamente, un simbolo PDF417 è una pila di righe orizzontali, ogni riga è un codice a barre lineare. Un PDF417 a grandezza intera sembra un mattone alto e stretto con ~3–90 righe, dove ogni riga porta una porzione del payload complessivo. Poiché ogni riga inizia con un pattern di inizio e termina con un pattern di stop, PDF417 può essere decodificato da un laser che scansiona da sinistra a destra riga per riga, nessun imager 2D richiesto.
Ogni parola codice è larga 17 moduli, costruita da 4 barre e 4 spazi (da qui "4/17"). Il payload viene suddiviso nelle parole codice utilizzando una delle tre "modalità di compattazione":
- Compattazione testo, 1,8 caratteri/parola codice. Per alfanumerici misti.
- Compattazione byte, 1,2 byte/parola codice. Per binari arbitrari.
- Compattazione numerica, 2,9 cifre/parola codice. Per payload numerici lunghi (come le combinazioni CAP+stato di AAMVA).
Capacità (righe × colonne)
La dimensione PDF417 è specificata come righe × colonne di dati. Il massimo è 90 righe × 30 colonne di dati = 2.700 parole codice di dati. Capacità alfanumerica approssimativa:
| Righe × colonne dati | Massimo alfanumerico | Uso tipico |
|---|---|---|
| 3 × 1 | ~3 caratteri | Simbolo minimo praticabile |
| 10 × 3 | ~30 caratteri | ID brevi, URL brevi |
| 20 × 5 | ~100 caratteri | Carta d'imbarco, AAMVA breve |
| 30 × 8 | ~250 caratteri | Lettera di trasporto FedEx |
| 40 × 12 | ~500 caratteri | Patente di guida AAMVA completa |
| 90 × 30 | ~1.800 caratteri | Massimo teorico, raramente usato |
Livelli di correzione errori (0–8)
PDF417 definisce 9 livelli di correzione errori Reed-Solomon, aggiungendo 2, 4, 8, 16, 32, 64, 128, 256 o 512 parole codice ECC. I livelli più alti gestiscono più danni ma costano capacità di payload.
| Livello ECC | Parole codice ECC | Uso tipico | % overhead |
|---|---|---|---|
| 0 | 2 | Solo sperimentale | ~0,1% |
| 1 | 4 | Codici brevi, ambiente controllato | ~0,2% |
| 2 | 8 | Payload piccoli | ~0,4% |
| 3 | 16 | Payload medi, scansione interna | ~0,8% |
| 4 | 32 | Default per documenti brevi | ~1,5% |
| 5 | 64 | Default nel mondo reale, lettere di trasporto, carte d'imbarco, AAMVA | ~3% |
| 6 | 128 | Ambienti ad alto danno | ~6% |
| 7 | 256 | Sgualcito / esterno / industriale | ~12% |
| 8 | 512 | Ambienti estremi | ~25% |
Macro PDF417 (payload multi-simbolo)
Quando un payload supera il limite di 1.800 caratteri, PDF417 supporta Macro PDF417, il payload viene suddiviso in fino a 99.999 simboli separati, ognuno contrassegnato con un indice Macro e un ID file. Lo scanner legge tutti i simboli in qualsiasi ordine, li riassembla e produce un unico payload decodificato. Raro in pratica al di fuori della scansione specialistica di documenti.
Vettori di test canonici
| Caso | Payload | Sottostringa attesa |
|---|---|---|
| Lettera di trasporto GS1 (stile FedEx) | 123456789012345 FEDEX 2026-04-20 | FEDEX |
| Patente AAMVA (minima) | @\n\x1e\rANSI 636014100002DL00410241ZVZVA01DAQA123456789 | ANSI 636014 |
| URL breve semplice | https://example.com/doc/X1234 | example.com/doc/X1234 |
| Ricevuta / fattura lunga | INV:2026-04-19 VENDOR:ACME TOTAL:$1,234.56 TAX:$98.76 … | ACME |
Insidie comuni
- Le fotocamere dei telefoni consumer non decodificano PDF417 in modo affidabile. iOS 17+ ha un flusso speciale con riconoscimento AAMVA (Wallet riconosce le patenti USA), ma trattarlo come "iPhone supporta PDF417" è fuorviante, è solo per il payload AAMVA specifico. Il comportamento Android varia molto per applicazione fotocamera OEM.
- AAMVA richiede PDF417. L'AAMVA Card Design Standard (CDS) richiede PDF417 specificamente, non QR, non Aztec. Se si generano payload AAMVA, lo standard lo impone.
- Le zone silenziose sono 2× la larghezza del modulo. Diverso dal QR (4 moduli) e Aztec (nessuna). PDF417 necessita di almeno 2 moduli di spazio bianco sui bordi sinistro e destro; una zona silenziosa errata è il motivo n°1 per cui i codici PDF417 legittimi falliscono alla scansione.
- Il rapporto d'aspetto conta. Le righe di PDF417 sono più larghe che alte per design. Forzare un rapporto d'aspetto quadrato (scalando o stampando su substrato quadrato) rompe la decodifica dello scanner laser; gli imager 2D a volte riescono a recuperare.
- PDF417 troncato. Variante che omette l'indicatore di riga destra + pattern di stop. Risparmia ~12% della larghezza del simbolo ma decodifica solo su imager 2D, gli scanner laser necessitano del pattern di stop. Usare solo quando si conosce la classe dello scanner.
- Selezione automatica della modalità di compattazione. I buoni encoder cambiano modalità di compattazione a metà payload per efficienza (blocco numerico → blocco testo). Gli encoder manuali bloccati su una singola modalità sprecano capacità. L'encoder di Abundera seleziona automaticamente per parola codice.
- Modalità di compattazione e set di caratteri. La compattazione testo gestisce solo ASCII stampabile. NUL incorporati, accenti Latin-1 o dati binari forzano la Compattazione Byte, che riduce l'efficienza a 1,2 byte/parola codice.
- Stile disabilitato. Le funzionalità specifiche QR (forme di punti personalizzate, sfumature, loghi centrali) non si applicano. Il pannello Stile di Abundera si disabilita automaticamente per PDF417.
Compatibilità scanner
| Lettore | Supporto PDF417 | Note |
|---|---|---|
| Fotocamera iOS (iOS 17+) | Solo AAMVA | Flusso nativo Wallet per patenti USA. I payload PDF417 generali non decodificano. |
| Fotocamera Android (dipendente da OEM) | Parziale | Le fotocamere stock Samsung + Pixel decodificano in modo inconsistente. Google Lens parziale. |
| Google Lens | Non affidabile | Non è un percorso di verifica praticabile per la produzione. |
| Scanner DMV USA / chiosco | Sì (canonico) | Per questo PDF417 è stato progettato, ogni DMV e chiosco di alcolici legge PDF417 nativamente. |
| Lettore carta d'imbarco compagnia aerea | Alcune compagnie | La maggior parte è passata ad Aztec; alcune (ANA, JAL, vettori USA legacy) accettano ancora carte PDF417. |
| Lettore lettera di trasporto FedEx / UPS | Sì (canonico) | Gli scanner laser in tutti gli impianti di smistamento leggono PDF417 nativamente. |
| Scanner laser 1D | Sì | Vantaggio unico vs Aztec / Data Matrix, i laser 1D POSSONO decodificare PDF417. |
| Imager Zebra / Honeywell / Datalogic | Sì | Ogni imager 2D industriale supporta PDF417. |
| Scandit / Dynamsoft SDK | Sì | Supporto completo incluso Macro PDF417. |
Vedi anche
- /pdf417-barcode-generator/, il generatore PDF417.
- Riferimento AAMVA, il caso d'uso canonico di PDF417 (patenti USA). Richiesto dalla specifica.
- Aztec · PDF417 · Data Matrix confronto, confronto fianco a fianco.
- Riferimento Aztec, il fratello orientato al display, per carte d'imbarco e trasporto.
- Riferimento Data Matrix, il fratello per la marcatura diretta di parti.
- Indice degli standard, torna al centro di riferimento.