PDF417 - PDF417

PDF417 är ett staplat linjärt streckkodformat som används i en mängd olika applikationer som transport, identifieringskort och lagerhantering. "PDF" står för Portable Data File. "417" betyder att varje mönster i koden består av fyra staplar och mellanslag i ett mönster som är 17 enheter (moduler) långt. PDF417 -symbolen uppfanns av Ynjiun P. Wang vid Symbol Technologies 1991. ( Wang 1993 ) Den definieras i ISO -standard 15438.

Ansökningar

PDF417 används i många applikationer av både kommersiella och statliga organisationer. PDF417 är ett av de format (tillsammans med Data Matrix ) som kan användas för att skriva ut porto som accepteras av United States Postal Service . PDF417 används också av flygindustrins Bar Coded Boarding Pass ( BCBP ) -standard som 2D -streckkodssymbol för papperskort. PDF417 är standarden som valts av Department of Homeland Security som maskinläsbar zonteknologi för RealID -kompatibla körkort och statligt utfärdade ID -kort. PDF417 -streckkoder ingår också på visum och gränsövergångskort som utfärdats av staten Israel ( exempel ).

Funktioner

Förutom funktioner som är typiska för tvådimensionella streckkoder, inkluderar PDF417: s funktioner:

  • Länka. PDF417 -symboler kan länka till andra symboler som skannas i följd så att ännu mer data kan lagras.
  • Användarspecificerade dimensioner. Användaren kan bestämma hur bred den smalaste vertikala stapeln (X -dimension) är och hur långa raderna är (Y -dimension).
  • Public domain -format. Vem som helst kan implementera system med detta format utan licens .

Införandet av ISO/IEC -dokumentet säger:

Tillverkare av streckkodsutrustning och användare av streckkodsteknik kräver allmänt tillgängliga standardsymbolspecifikationer som de kan hänvisa till när de utvecklar utrustning och applikationsstandarder. Det är ISO/IEC: s avsikt och förståelse att symbolen som presenteras i denna internationella standard helt och hållet är allmän egendom och fri från alla användarbegränsningar, licenser och avgifter.

Formatera

PDF417 Exempel.svg

Streckkoden PDF417 (även kallad symbol ) består av 3 till 90 rader, var och en är som en liten linjär streckkod. Varje rad har:

  • en tyst zon . Detta är ett minimalt antal vita utrymmen innan streckkoden börjar.
  • ett startmönster som identifierar formatet som PDF417.
  • ett "rad vänster" kodord som innehåller information om raden (t.ex. radnummer och felkorrigeringsnivå)
  • 1–30 datakodord : Kodord är en grupp staplar och mellanslag som representerar ett eller flera siffror, bokstäver eller andra symboler.
  • ett "rad höger" kodord med mer information om raden.
  • ett stoppmönster.
  • en annan tyst zon.

Alla rader har samma bredd; varje rad har samma antal kodord.

Kodord

PDF417 använder en bas 929 -kodning. Varje kodord representerar ett tal från 0 till 928.

Kodorden representeras av mönster av mörka (stapel) och ljusa (rymd) regioner. Var och en av dessa mönster innehåller fyra staplar och fyra mellanslag (varifrån de fyra i namnet kommer). Den totala bredden är 17 gånger bredden på den smalaste tillåtna vertikala stapeln (X -dimensionen); det är här de 17 i namnet kommer ifrån. Varje mönster börjar med en stapel och slutar med ett mellanslag.

Radhöjden måste vara minst 3 gånger minsta bredd: Y ≥ 3 X.

Det finns tre distinkta bar -space -mönster som används för att representera varje kodord. Dessa mönster är organiserade i tre grupper som kallas kluster . Klusterna är märkta 0, 3 och 6. Inget stapel -mellanslagsmönster används i mer än ett kluster. Raderna i symbolen går igenom de tre klustren, så rad 1 använder mönster från kluster 0, rad 2 använder kluster 3, rad 3 använder kluster 6 och rad 4 använder igen kluster 0.

Vilket kluster kan bestämmas med en ekvation:

Där K är klusternumret och b i hänvisar till bredden på den i: e svarta stapeln i symboltecknet (i X -enheter).

Alternativt,

Där E i är den i : te kant till nästa-samma-kantavstånd. Udda index är den främre kanten av en stapel till framkanten av nästa stapel; även index är för bakkanterna.

Ett syfte med de tre klustren är att bestämma vilken rad (mod 3) kodordet finns i. Klusterna gör att delar av symbolen kan läsas med en enda skanningslinje som kan vara skev från horisontalplanet. Skanningen kan till exempel börja på rad 6 i början av raden men sluta på rad 10. I början av skanningen ser skannern det konstanta startmönstret och sedan ser det symboler i kluster 6. När den snedställda genomsökningen sträcker sig över raderna 6 och 7, då ser skannern brus. När genomsökningen är på rad 7 ser skannern symboler i kluster 0. Följaktligen vet skannern riktningen på snedställningen. När skannern når höger är den på rad 10, så den ser kluster 0 -mönster. Skannern kommer också att se ett konstant stoppmönster.

Kodning

Av de 929 tillgängliga kodorden används 900 för data och 29 för specialfunktioner, till exempel växling mellan huvudlägen. De tre huvudlägena kodar olika typer av data på olika sätt och kan blandas efter behov inom en enda streckkod:

  • Byte : varje grupp med 5 kodord representerar 6 byte. (Eftersom 900 5 > 256 6. ) Ytterligare byte kodas en per kodord.
  • Numeriskt : n -siffror kodas med n /3 +1 kodord, upp till maximalt 44 siffror i 15 kodord.
  • Text : Varje kodord representerar två bas-30 siffror, som används av ett system med fyra undermoder för att representera de utskrivbara ASCII-tecknen (plus CR , LF och HT ):
    • Versaler: A – Z, SP , Ändra till gemener, Byt till blandat, Tolk nästa siffra som skiljetecken
    • Gemener: a – z, SP, tolka nästa siffra som versaler, byta till blandat, tolka nästa siffra som skiljetecken
    • Blandat: 0–9, &, CR, HT, komma,:, #, -, punkt, $, /, +, %, *, =, ^, Ändra till skiljetecken, SP, Ändra till gemener, Byt till versaler, Tolk nästa siffra som skiljetecken
    • Skiljetecken:;, <,>, @, [, \,], _, `, ~,!, CR, HT, komma,:, LF, -, punkt, $, /,", |, *, (, ),?, {,}, ', Ändra till versaler

Felkorrigering

När PDF417 -symbolen skapas läggs från 2 till 512 felidentifierings- och korrigeringskodord till. PDF417 använder felkorrigering av Reed – Solomon . När symbolen skannas är det maximala antalet korrigeringar som kan göras lika med antalet kodord som läggs till, men standarden rekommenderar att två kodord hålls tillbaka för att säkerställa tillförlitligheten hos den korrigerade informationen.

Jämförelse med andra symbologier

PDF417 är en staplad streckkod som kan läsas med en enkel linjär skanning som sveps över symbolen. Dessa linjära skanningar behöver vänster och höger kolumner med start- och stoppkodorden. Dessutom måste genomsökningen veta vilken rad den skannar, så varje rad i symbolen måste också koda dess radnummer. Dessutom kommer läsarens linjesökning inte att skanna bara en rad; det börjar vanligtvis skanna en rad, men går sedan över till en granne och möjligen fortsätter att korsa på varandra följande rader. För att minimera effekten av dessa korsningar är PDF417 -modulerna höga och smala - höjden är vanligtvis tre gånger bredden. Varje kodord måste också ange vilken rad det tillhör så att crossovers, när de inträffar, kan detekteras. Kodorden är också utformade för att vara delta-avkodningsbara, så vissa kodord är överflödiga. Varje PDF -datakodord representerar cirka 10 bitar information (log 2 (900) ≈ 9.8), men det utskrivna kodordet (tecknet) är 17 moduler brett. Inklusive en höjd på 3 moduler tar ett PDF417 -kodord 51 kvadratmoduler för att representera 10 bitar. Det området räknar inte med andra omkostnader såsom start-, stopp-, rad-, format- och ECC -information.

Andra 2D -koder, som DataMatrix och QR , avkodas med bildsensorer istället för okoordinerade linjära skanningar. Dessa koder behöver fortfarande erkännande och anpassningsmönster, men de behöver inte vara lika framträdande. Ett 8 -bitars kodord tar 8 kvadratiska moduler (ignorerar igenkänning, justering, format och ECC -information).

I praktiken tar en PDF417 -symbol ungefär fyra gånger området för en DataMatrix eller QR -kod.

Referenser

externa länkar