Magst du Codes? Nun, oder nicht lieben. In jedem Fall müssen Sie manchmal wissen, wie man sie richtig verwendet. Sie können den langen Weg gehen, wie ich es beim letzten Mal getan habe , aber wenn keine Zeit ist, ist es einfacher, die Anweisungen zu verwenden.
Lassen Sie uns also alles erledigen, was Sie zum Lesen und / oder Schreiben von PDF417 benötigen. Schließlich ist es nicht immer möglich, ein Smartphone mit einem Programm zum Lesen zu finden. Und fürs Protokoll - und noch mehr.
Achtung, unter dem Schnitt - 9 Bilder mit einer Gesamtgröße von 2,79 MB, 6 Tabellen und einigen Formeln.
Inhaltsverzeichnis
01. Geschichte von PDF417 und Nutzungsrecht
( Zurück | Inhaltsverzeichnis | Vorwärts )
PDF417 erfunden von Symbol Technologies Inc. 1991 und am 7. September 1993 wurde für ihn ein US-Patent unter der Nummer 5.243.655 erteilt (beispielsweise hier erhältlich ). Tatsächlich beschreibt das Patent nicht nur ein Codierungsverfahren, sondern ein umfassendes System zum Codieren und Decodieren von Daten ( "System zum Codieren und Decodieren von Daten in maschinenlesbarer grafischer Form" ). Darüber hinaus werden derzeit nicht alle Empfehlungen des Patents verwendet.
, PDF417 , .
: ISO/IEC 15438:2015, PDF417, — 198 CHF ( ). , . , , .
02.
( | | )
() PDF417 (. 1) — , . , ( ) . ().
, . PDF417 3 90 , 3 30 .

. 1. PDF417
17 ( ), 4 4 . 1 6 .
(). 3 (), "", "". , , . .
PDF417 . , , — , — . (. 2), .
:
,
,
— 9.
, 3 , 9 , . : .
PDF417 929 ( 000 928).
03.
( | | )
(. 2):

. 2. PDF417
, , ( 900, ), .
04.
( | | )
, PDF417 000 928 . , 2 787 .
000 899 .
900 : 928 — (. 1). 900, 901, 902, 913 924, .
. 1. PDF417. ,
PDF macro PDF417 . , ( ) .
ECI / GLI — Extended Channel Interpretation / Global Label Identifier — , . , ( , GLI 0, ), .
04.a) (TC, Text Compaction Mode)
( | | )
PDF417 ( ). 4 :
- Alpha ( );
- Lower case;
- Mixed;
- Punctuation.
. 2. GLI 0
al, ll, ml pl — alpha, lower case, mixed punctuation (l = latch);as ps — alpha punctuation (s = shift) .
900 2 :
,
— 900, — , — . .
, , -, - 29.
shift- . latch- .
04.b) - (BC, Byte Compaction Mode)
( | | )
900. 256. :
, 6 5 256 900. , 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, (. 3).

. 3. , -
:
924, 001, 620, 089, 074, 846.
6, 6 5 , — . , 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 :
901, 001, 620, 089, 074, 846, 007, 008, 009.
, - 913.
04.c) (NC, Numeric Compaction Mode)
( | | )
10 900. , 0 9. , 44 15 .
902. , 13 . , 3 ( , 2.93) , , (2 ).
900 1 , . 4. , 1 .

. 4. ,
05.
( | | )
. PDF417 2 . , , (. 3).
. 3. PDF417
:
- , (erasures), " ";
- , , (errors), " ".
:
;
;
;
.
:
2 , , , .
Error Correction Capacity, , . , , . , , , :
.
2 , . 2 .
, , 13 , 7 , , (9 2 ..).
- . .
(. 4).
. 4.
( | | )
( 03), PDF417.
, , . , , , , , (. 5).

. 5.
07.
( | | )
x-, 17- GitHub
( 02), PDF417 3 (0, 3 6) 929 . 17- , x-. , , , , . 5.
. 5. 20 x-
08. 8-
( | | )
GLI 0
ASCII 0:127. 128:255 PC 437.
. 6. GLI 0, PDF417
GLI 1
ISO 8859-1 ().
09. PDF417,
( | | )
PDF417 .
, , PDF417 - -, x- 81111113 711311121 (18 ) .
, PDF417 (. 6). , - -.

. 6. 0 PDF417
10.
( | | )
. ( 0, 0). , 19 (. 7). , , ( , , 06). , 1 -, 18 - 8 , 27, .
. , .

. 7. ,
11. PDF417
( | | )
, 000 928 (. 8). , , .

. 8.
— 900 : 928. . 8, . , (TC, 04.a).
12.
( | | )
, , 2 :
30, — 30.
:
(27)(07) (19)(19) (15)(18) (28)(14) (19)(19) (28)(07) (27)(00) (01)(17) (29)(17) (02)(14) (12)(29) (19)(15) (14)(18) (19)(28) (19)(05) (00)(00) (09)(06) (02)(29)
( . 2):
(ll)https(ml)://(al)H(ll)abr(ps).com(ps)/post(ml)/500962(ps)
(ll), (ml), (al) (ps) 04.a.
:
https://Habr.com/post/500962
, . 8 ( 05).
13.
( | | )
— . .
, . , 3 . , ( ).
, — , ( 02). PDF417 , ( ..), , , — . , .
. , , ( ). .
14.
( | | )
, , .
1. P -
2. , (900)
3. N - , , P
4. N ≥ 13
5. (902)
6.
7. P
8. 3
9. N < 13
10. T - ,
.
(901, 902, 913, 924)
13 .
11. T ≥ 5
12. (900)
13.
14. P
15. 3
16. T < 5
17. B - ,
P. 11
4.
18. B == 1 & -
19. 1 (913)
20.
21. P
22. 3
23.
24. (901 924
, 04.b)
25.
26. P
27. 3
15. ,
( | | )
, PDF417 , . , ( , . 4). , .
, PDF417 " ", 2 .
:
— ;
— ;
— ;
— ;
— ();
— ;
— ( ).
16. () PDF417
( | | )
PDF417 "" ( ), PDF417 (Truncated PDF417, . 9).
:
34 15 :
. 9. PDF417 ( , )
, :
17.
( | | )
PDF417
18.
( | | )
, PDF417. (, , ) , .
, step by step:
, , , ( PDF417).
, , - . , .
!
P.S. , , . "Ctrl / ⌘ + Enter", Ctrl / ⌘, . , . !