PDF417
PDF417 är den staplad-linjära 2D-streckkoden på baksidan av varje amerikanskt körkort, på de flesta amerikanska pass, på FedEx/UPS-fraktsedlar och på otaliga myndighetsblankett. Det är den enda 2D-symbologin som kan avkodas tillförlitligt av 1D-laserskannrar.
AAMVA application:AAMVA Card Design Standard v10.
Originator: Symbol Technologies (now Zebra), 1991. Name: "Portable Data File, 4 bars, 17 modules."
Vad det är
En PDF417-symbol är en stack av horisontella rader, varje rad är en linjär streckkod. Varje kodord är 17 moduler brett, byggt av 4 staplar och 4 mellanrum (därav '4/17'). Payloaden fördelas över kodord i ett av tre kompaktionslägen:
- Textkomprimering, 1,8 tecken/kodord. Används för blandade alfanumeriska.
- Byte-komprimering, 1,2 byte/kodord. Används för godtycklig binär.
- Numerisk komprimering, 2,9 siffror/kodord. Används för långa numeriska payloads.
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 (payloads med flera symboler)
När en payload överstiger 1800-teckensgränsen stöder PDF417 Macro PDF417, payloaden delas upp i upp till 99 999 separata symboler. Skannern läser alla symboler i valfri ordning, återmonterar och sänder ut en enda avkodad payload. Sällsynt i praktiken.
Kanoniska testvektorer
| Fall | Payload | Förväntad substring |
|---|---|---|
| GS1-fraktsedel (FedEx-stil) | 123456789012345 FEDEX 2026-04-20 | FEDEX |
| AAMVA-körkort (minimalt) | @
ANSI 636014100002DL00410241ZVZVA01DAQA123456789 | ANSI 636014 |
| Kort vanlig URL | https://example.com/doc/X1234 | example.com/doc/X1234 |
| Lång kvitto / faktura | INV:2026-04-19 VENDOR:ACME TOTAL:$1,234.56 … | ACME |
Vanliga fallgropar
- Konsumenttelefonkameror avkodar inte PDF417 tillförlitligt. iOS 17+ har ett speciellt AAMVA-medvetet flöde, men det är bara för den specifika AAMVA-payloaden.
- AAMVA kräver PDF417. AAMVA Card Design Standard kräver PDF417 specifikt, inte QR, inte Aztec.
- Tysta zoner är 2× modulbredd. Skiljer sig från QR (4 moduler) och Aztec (ingen). PDF417 behöver minst 2 moduler.
- Bildförhållande spelar roll. Att tvinga ett kvadratiskt bildförhållande bryter laserskannardekodning.
- Trunkerad PDF417. Variant som utelämnar höger radindikatorn + stoppmönster. Sparar ~12% symbolbredd men avkodar bara på 2D-imagers.
- Kompaktionsläge auto-urval. Bra kodare byter komprimering mitt i payload för effektivitet.
- Styling inaktiverad. QR-specifika funktioner gäller inte.
Skannerkompatibilitet
| Läsare | PDF417 support | Anteckningar |
|---|---|---|
| iOS Camera (iOS 17+) | AAMVA-only | Inbyggt Wallet-flöde för amerikanska körkort. |
| Android Camera | Delvis | Samsung + Pixel inkonsekvent. |
| Google Lens | Opålitlig | |
| USA DMV/kiosk-skanner | Ja (kanonisk) | Det är vad PDF417 designades för. |
| Flygbordingkortläsare | Vissa carriers | De flesta flygbolag har gått över till Aztec. |
| FedEx / UPS fraktsedelläsare | Ja (kanonisk) | Laserskannrar på varje sorteringsanläggning. |
| 1D-laserskanner | Ja | Unikt försprång vs Aztec / Data Matrix. |
| Zebra / Honeywell / Datalogic | Ja | |
| Scandit / Dynamsoft SDK | Ja | Inkl. Macro PDF417. |