PDF417
PDF417 on pinottuna lineaari 2D-viivakoodi jokaisen yhdysvaltalaisen ajokortin takana, useimmissa yhdysvaltalaisissa passeissa, FedEx/UPS-rahtikirjoissa ja lukemattomissa virastolomakkeissa. Se on ainoa 2D-symbologia, joka voidaan luotettavasti lukea 1D-laserskannereilla.
AAMVA application:AAMVA Card Design Standard v10.
Originator: Symbol Technologies (now Zebra), 1991. Name: "Portable Data File, 4 bars, 17 modules."
Mitä se on
PDF417-symboli on vaakarivien pino, jokainen rivi on lineaarinen viivakoodi. Jokainen koodisana on 17 modulia leveä, rakennettu 4 palkkista ja 4 välistä (siitä '4/17'). Hyötykuorma jaetaan koodisanoihin yhdessä kolmesta pakkausmoodista:
- Tekstipakkaus, 1,8 merkkiä/koodisana. Käytetään sekakirjainkoodeille.
- Tavupakkaus, 1,2 tavua/koodisana. Käytetään mielivaltaiselle binäärille.
- Numerinen pakkaus, 2,9 numeroa/koodisana. Käytetään pitkille numeerisille hyötykuormille.
Capacity (rows × columns)
| Rows × data cols | Max alphanumeric | Typical use |
|---|---|---|
| 3 × 1 | ~3 chars | Minimum viable symbol |
| 10 × 3 | ~30 chars | Short IDs |
| 20 × 5 | ~100 chars | Boarding pass, short AAMVA |
| 30 × 8 | ~250 chars | FedEx airbill |
| 40 × 12 | ~500 chars | Full AAMVA driver license |
| 90 × 30 | ~1,800 chars | Theoretical max |
Error correction levels (0–8)
| ECC level | ECC codewords | Typical use |
|---|---|---|
| 0 | 2 | Experimental only |
| 4 | 32 | Default for short documents |
| 5 | 64 | Real-world default, airbills, boarding passes, AAMVA |
| 7 | 256 | Crumpled / outdoor / industrial |
| 8 | 512 | Extreme environments |
Macro PDF417 (monisymboliset hyötykuormat)
Kun hyötykuorma ylittää 1 800 merkin rajan, PDF417 tukee Macro PDF417:ää, hyötykuorma jaetaan enintään 99 999 erilliseen symboliin. Skanneri lukee kaikki symbolit missä tahansa järjestyksessä, kokoaa uudelleen ja lähettää yhden puretun hyötykuorman. Harvinaista käytännössä.
Kanoniset testvektorit
| Tapaus | Payload | Odotettu substring |
|---|---|---|
| GS1-rahtikirja (FedEx-tyyli) | 123456789012345 FEDEX 2026-04-20 | FEDEX |
| AAMVA-ajokortti (minimaalinen) | @
ANSI 636014100002DL00410241ZVZVA01DAQA123456789 | ANSI 636014 |
| Lyhyt tavallinen URL | https://example.com/doc/X1234 | example.com/doc/X1234 |
| Pitkä kuitti / lasku | INV:2026-04-19 VENDOR:ACME TOTAL:$1,234.56 … | ACME |
Yleiset sudenkuopat
- Kuluttajan puhelinkamerat eivät pura PDF417:ää luotettavasti. iOS 17+:lla on erityinen AAMVA-tietoinen työnkulku, mutta se on vain tiettyä AAMVA-hyötykuormaa varten.
- AAMVA velvoittaa PDF417:n. AAMVA Card Design Standard vaatii erityisesti PDF417:ää, ei QR:ää, ei Aztecia.
- Hiljaiset vyöhykkeet ovat 2× modulin leveys. Erilainen kuin QR (4 modulia) ja Aztec (ei yhtään). PDF417 tarvitsee vähintään 2 modulia.
- Kuvasuhde on tärkeä. Neliökuvasuhteen pakottaminen rikkoo laserskannerin dekoodauksen.
- Katkaistu PDF417. Variantti, joka jättää pois oikean rivin indikaattorin + pysäytyskuvion. Säästää ~12% symbolin leveyttä mutta purkautuu vain 2D-kuvanlukijoilla.
- Pakkaustilan automaattinen valinta. Hyvät koodarit vaihtavat pakkausta hyötykuorman keskellä tehokkuuden vuoksi.
- Tyyli poistettu käytöstä. QR-kohtaiset ominaisuudet eivät koske PDF417:ää.
Skanneriyhteensopivuus
| Lukija | PDF417 support | Huomiot |
|---|---|---|
| iOS Camera (iOS 17+) | Vain AAMVA | Natiivi Lompakko-työnkulku yhdysvaltalaisille ajokorteille. |
| Android Camera | Osittain | Samsung + Pixel epäjohdonmukainen. |
| Google Lens | Epäluotettava | |
| USA DMV/kioski-skanneri | Kyllä (kanoninen) | Tähän PDF417 suunniteltiin. |
| Lentokone boarding-pass-lukija | Jotkut lentoyhtiöt | Useimmat lentoyhtiöt ovat siirtyneet Azteciin. |
| FedEx / UPS rahtikirjan lukija | Kyllä (kanoninen) | Laserskannerit jokaisessa lajittelulaitoksessa. |
| 1D-laserscanner | Kyllä | Ainutlaatuinen etu vs Aztec / Data Matrix. |
| Zebra / Honeywell / Datalogic | Kyllä | |
| Scandit / Dynamsoft SDK | Kyllä | Mukaan lukien Macro PDF417. |