Content deleted Content added
it is a stacked barcode; restore barcode; a clause should follow a semi, so fix grammar; copyedit
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Wiiformii - 20664
 
(42 intermediate revisions by 33 users not shown)
Line 1:
{{short description|Type of barcode}}
[[Image:Better Sample PDF417.png|right|Sample of a PDF417 symbol]]
{{pp-semi-indef|small=yes}}
 
{{about|the barcode type|the file format|PDF}}
'''PDF417''' is a stacked linear [[barcode]] format used in a variety of applications such as transport, identification cards, and inventory management. "PDF" stands for Portable Data File. The "417" signifies that each pattern in the code consists of 4 bars and spaces in a pattern that is 17 units (modules) long. The PDF417 symbology was invented by Ynjiun P. Wang at [[Symbol Technologies]] in 1991. {{Harv|Wang|1993}} It is ISO standard 15438.
[[ImageFile:Better SampleWikipedia PDF417.png|alt=|right|thumb|Sample of a PDF417 symbol]]
'''PDF417''' is a stacked linear [[barcode]] format used in a variety of applications such as transport, identification cards, and inventory management. "PDF" stands for Portable Data File. The "417" signifies that each pattern in the code consists of 4 bars and spaces in a pattern that is 17 units (modules) long. The PDF417 symbology was invented by Dr. Ynjiun P. Wang at [[Symbol Technologies]] in 1991. <ref>{{Harv|Wang|1993}}cite It is ISO standard 15438.patent
|inventorinventor1-last= Wang
|inventorinventor1-first= Ynjiun P.
|title= System for Encoding and Decoding Data in Machine Readable Graphic Form
|fdate= 1992-03-16
|pubdate= 1993-09-07
|country-code= US
|patent-number= 5243655}}. PDF417 patent.
</ref> It is defined in '''ISO 15438'''.
 
==Applications==
Line 11 ⟶ 21:
* Linking. PDF417 symbols can link to other symbols which are scanned in sequence allowing even more data to be stored.
* User-specified dimensions. The user can decide how wide the narrowest vertical bar (X dimension) is, and how tall the rows are (Y dimension).
* Public domain format. Anyone can implement systems using this format without any [[license]].<ref name="isocatiso2006">http://www.iso.org/iso/fr/home/store/catalogue_tc/catalogue_detail.htm?csnumber=43816</ref>{{Citation
|author = ISO/IEC
|title= Information technology &ndash; Automatic identification and data capture techniques &ndash; PDF417 bar code symbology specification
|year= 2006
|edition= second
|id= ISO/IEC 15438:2006(E)
|url= http://webstore.iec.ch/preview/info_isoiec15438%7Bed2.0%7Den.pdf
|access-date= 2011-09-16
|archive-date= 2011-04-09
|archive-url= https://web.archive.org/web/20110409140736/http://webstore.iec.ch/preview/info_isoiec15438%7Bed2.0%7Den.pdf
|url-status= dead
}}</ref><ref name="iso2015">{{Citation
|author = ISO/IEC
|title= Information technology &ndash; Automatic identification and data capture techniques &ndash; PDF417 bar code symbology specification
|year= 19932015
|edition= third
|id= ISO/IEC 15438:2006(E)
|url= https://webstore.iec.ch/en/publication/23356
|url-access=limited
}}</ref>
 
The introduction of the ISO/IEC document states:<ref name="isocatiso2006"/>
::Manufacturers of bar code equipment and users of bar code technology require publicly available standard symbology specifications to which they can refer when developing equipment and application standards. It is the intent and understanding of ISO/IEC that the symbology presented in this International Standard is entirely in the public domain and free of all user restrictions, licences and fees.
 
Line 24 ⟶ 53:
* a start pattern which identifies the format as PDF417.
* a "row left" codeword containing information about the row (such as the row number and error correction level)
* 1-301–30 data '''codewords''': Codewords are a group of bars and spaces representing one or more numbers, letters, or other symbols.
* a "row right" codeword with more information about the row.
* a stop pattern.
Line 32 ⟶ 61:
 
===Codewords===
PDF417 uses a [[Radix|base]] 929 encoding. Each codeword represents a number from 0 to 928.
 
The codewords are represented by patterns of dark (bar) and light (space) regions. Each of these patterns contains four bars and four spaces (where the 4 in the name comes from). The total width is 17 times the width of the narrowest allowed vertical bar (the X dimension); this is where the 17 in the name comes from. Each pattern starts with a bar and ends with a space.
 
The row height must be at least 3 times the minimum width: Y &ge; 3 X.<ref name="iso2006"/>{{Harvnbrp|ISO/IEC|2006|p=28}}, 5.8.2.</ref>}}
 
There are three distinct bar&ndash;space patterns used to represent each codeword. These patterns are organized into three groups known as '''clusters'''. The clusters are labeled 0, 3, and 6. No bar&ndash;space pattern is used in more than one cluster. The rows of the symbol cycle through the three clusters, so row 1 uses patterns from cluster 0, row 2 uses cluster 3, row 3 uses cluster 6, and row 4 again uses cluster 0.
 
Which cluster can be determined by an equation:<ref name="iso2006"/>{{Harvnbrp|ISO/IEC|2006|p=9}}, 5.3.1.</ref>}}
:<math>K = b_1 - b_2 + b_3 - b_4 + 9 \,\, \pmod 9</math>
 
Where ''K'' is the cluster number and the ''b<sub>i</sub>'' refer to the width of the ''i''-th black bar in the symbol character (in ''X'' units).
 
Alternatively,<ref name="iso2006"/>{{Harvnbrp|ISO/IEC|2006|pp=76–78}}</ref>
:<math>K = E_1 - E_2 + E_5 - E_6 + 9 \,\, \pmod 9</math>
 
Where ''E<sub>i</sub>'' is the ''i''-th edge-to-next-same-edge distance. Odd indices are the leading edge of a bar to the leading edge of the next bar; even indices are for the trailing edges.
 
One purpose of the three clusters is to determine which row (mod 3) the codeword is in. The clusters allow portions of the symbol to be read using a single scan line that may be skewed from the horizontal.<ref name="iso2006"/>{{Harvnbrp|ISO/IEC|2006}}, 5.11.1.</ref> }} For instance, the scan might start on row 6 at the start of the row but end on row 10. At the beginning of the scan, the scanner sees the constant start pattern, and then it sees symbols in cluster 6. When the skewed scan straddles rows 6 and 7, then the scanner sees noise. When the scan is on row 7, the scanner sees symbols in cluster 0. Consequently, the scanner knows the direction of the skew. By the time the scanner reaches the right, it is on row 10, so it sees cluster 0 patterns. The scanner will also see a constant stop pattern.
 
===Encoding===
Line 70 ⟶ 99:
Other 2D codes, such as [[DataMatrix]] and [[QR Code|QR]], are decoded with image sensors instead of uncoordinated linear scans. Those codes still need recognition and alignment patterns, but they do not need to be as prominent. An 8 bit code word will take 8 square modules (ignoring recognition, alignment, format, and ECC information).
 
In practice, a PDF417 symbol takes about four times the area of a DataMatrix or QR Code.<ref>{{Citation|title=Using Barcodes in Documents &ndash; Best Practices |year=2007 |location=Tampa, FL |publisher=Accusoft |url=http://www.accusoft.com/whitepapers/barcodes/BarcodesinDocuments-BestPractices.pdf |accessdateaccess-date=May 9, 2012 |deadurlurl-status=yesdead |archiveurlarchive-url=https://web.archive.org/web/20120524085651/http://accusoft.com/whitepapers/barcodes/BarcodesinDocuments-BestPractices.pdf |archivedatearchive-date=May 24, 2012 }}</ref>
 
==References==
{{Reflist|30em}}
 
*{{Citation
|author = ISO/IEC
|title= Information technology &ndash; Automatic identification and data capture techniques &ndash; PDF417 bar code symbology specification
|year=2006
|edition= second
|id= ISO/IEC 15438:2006(E)
|url= http://webstore.iec.ch/preview/info_isoiec15438%7Bed2.0%7Den.pdf
|doi=}}
* {{cite patent
|inventor-last= Wang
|inventor-first= Ynjiun P.
|title= System for Encoding and Decoding Data in Machine Readable Graphic Form
|year= 1993
|filed-date= March 16, 1992
|issue-date= September 7, 1993
|country-code= US
|patent-number= 5243655}}. PDF417 patent.
 
==External links==
* [httphttps://www.morovia.com/education/symbologymanuals/pdf417-font-encoder/chapter.overview.aspphp PDF417 Description]
* [http://grandzebu.net/informatique/codbar-en/pdf417.htm Free font, Windows encoder and detailed explanation]
* [https://web.archive.org/web/20090314100558/http://www.racoindustries.com/barcodegenerator/2d/pdf417.aspx PDF417 Barcode Generator]
* [httphttps://zxing.org/w/decode.jspx ZXing PDF417 online decoder]
* [httphttps://online-barcode-reader.inliteresearch.com/ PDF417 online decoder]
{{Barcodes|state=uncollapsed}}
{{ISO standards}}