Sursa: https://www.pdflabs.com/tools/gnu-barcode-plus-pdf/
Creați fișiere PDF cu coduri de bare utilizând versiunea actualizată a programului GNU barcode. Descărcați programul de instalare pentru Windows și Mac sau, pentru Linux, construiți-l din codul sursă.
Dacă trebuie să creați coduri de bare, încercați GNU barcode. Este un instrument de linie de comandă care poate crea coduri de bare EAN 13, EAN 8, UPC A, UPC E, ISBN, CODE 128, CODE 128-B, CODE 128-C, CODE 39, CODE 93, CODABAR, MSI și PLESSEY.
Versiunea originală afișează aceste coduri de bare ca PostScript, EPS sau PCL. Am adăugat un filtru de ieșire pentru PDF, pe care îl descriem mai jos.
GNU barcode poate fi folosit ca un instrument în linie de comandă de sine stătător sau ca bibliotecă. Este distribuit sub licență GPL - citiți fișierele README și COPYING ale autorului din arhiva zip.
Programul poate fi descărcat de pe pagina: https://www.pdflabs.com/tools/gnu-barcode-plus-pdf/.
Fișierul executabil pentru Windows a fost testat pe Windows XP, iar cel pentru Mac a fost testat pe 10.6 (Snow Leopard) - credem că este compatibil și cu versiunile ulterioare! Utilizatorii Linux pot compila cu ușurință programul folosind codul sursă:
cd src / barcode-0.98.1./configuremakeExecutați codul de bare din linia de comandă, astfel:
barcode -e 128 -b "foo" -D -o barcode.txt Care sunt aceste opțiuni? Tipul de cod de bare este dat după -e, datele pentru codificare sunt date după -b, pentru salvarea fișierului ca PDF se folosește opțiunea -D, iar numele de fișier de ieșire se scrie după -o.
Cu comanda barcode --help puteți obține mai multe informații:
barcode: Opțiuni:
-i <arg> fișier de intrare (șir de caractere care vor fi codificate), implicit stdin
-o <arg> fișier de ieșire, implicit stdout
-b <arg> șir care va fi codificat (dacă lipsește, utilizați fișierul de intrare)
-e <arg> tip de codificare (implicit este cel care se potrivește cel mai bine cu primul șir)
-u <arg> unitate de măsură ("mm", "in", ...) folosită pentru a decodifica -g, -t, -p
-g <arg> dimensiuni și poziționare pe pagină: [<wid>x<hei>][+<margin>+<margin>]
-t <arg> poziționare în tabel: <cols>x<lines>[+<margin>+<margin>]
-m <arg> marginea internă pentru fiecare element din tabel: <xm>[,<ym>]
-s <arg> scara dorită pentru codul de bare: <s>
-n "numeric": evită imprimarea textului împreună cu codul de bare
-c fără caracter Checksum, dacă codificarea aleasă permite acest lucru
-q omite comentariile descriptive din fișierul de ieșire
-E imprimă codul ca fișier eps (implicit: multi-page ps)
-P crează o ieșire PCL în locul unei ieșiri postscript
-D crează o ieșire PDF în locul unei ieșiri postscript
-p <arg> mărimea paginii (detalii în manual - pagina man)
Codificările cunoscute sunt (cele sinonime apar pe aceeași linie):
"ean", "ean13", "ean-13", "ean8", "ean-8" "upc", "upc-a", "upc-e" "isbn" "39", "code39" "128c", "code128c" "128b", "code128b" "128", "code128" "128raw" "i25", "interleaved 2 of 5" "cbr", "codabar" "msi" "pls", "plessey" "code93", "93"Deschideți fișierul barcode.txt și puteți vedea:
% Printing barcode for "foo", scaled 1.00, encoded using "code 128"% This is a PDF page description, not a PDF document% Add to a PDF page stream using a tool such as stamptk% The space/bar succession is represented by the following widths (space first):% 02112141124121341111341113111232331112q0 g% xpos ypos width height 10.00 20.00 1.85 70.00 re 13.00 20.00 0.85 70.00 re 16.00 20.00 0.85 70.00 re 21.00 20.00 0.85 70.00 re 23.00 20.00 1.85 70.00 re 29.00 20.00 0.85 70.00 re 32.00 20.00 0.85 70.00 re 36.00 20.00 3.85 70.00 re 41.00 20.00 0.85 70.00 re 43.00 20.00 0.85 70.00 re 47.00 20.00 3.85 70.00 re 52.00 20.00 0.85 70.00 re 54.00 20.00 2.85 70.00 re 58.00 20.00 0.85 70.00 re 60.00 20.00 1.85 70.00 re 65.00 20.00 1.85 70.00 re 70.00 20.00 2.85 70.00 re 74.00 20.00 0.85 70.00 re 76.00 20.00 1.85 70.00 refBT/Courier 12.00 Tf 1 0 0 1 21.00 10.00 Tm (f) Tj 1 0 0 1 28.30 10.00 Tm (o) Tj 1 0 0 1 35.60 10.00 Tm (o) TjETQ% End barcode for "foo"Acesta nu este un document PDF, ci mai degrabă o descriere a paginii PDF. Acesta este codul din interiorul documentului PDF care este utilizat pentru a reda pagina PDF finală. Pentru a o vizualiza, va trebui să implementăm fișierul într-un document PDF.
Iată un mod rapid de realizare a acestui lucru.
Descărcați fișierele barcode_doc_front.txt și barcode_doc_back.txt în directorul unde ați creat fișierul barcode.txt. Apoi, îmbinați aceste trei fișiere împreună pentru a crea un nou fișier PDF (barcode_doc.pdf).
În Windows, utilizați comanda:
type barcode_doc_front.txt barcode.txt barcode_doc_back.txt > barcode_doc.pdfÎn Linux sau Mac:
cat barcode_doc_front.txt barcode.txt barcode_doc_back.txt > barcode_doc.pdfApoi deschideți barcode_doc.pdf într-un vizualizator PDF. Este posibil ca să apară un mesaj că PDF-ul este corupt (aceasta este partea "murdară" a acestui truc), dar ar trebui să afișeze codul de bare în colț:
Puteți edita fișierul barcode.pdf folosind un editor binar, cum ar fi vim sau emacs. Acesta este un bun exemplu de codare a unui fișier PDF.
Puteți modifica locația codului de bare pe pagină utilizând opțiunea -g.
De exemplu, comanda următoare va muta codul de bare cu doi inch spre dreapta - axa X (2 x 72 = 144 puncte) și un inch în sus - axa Y (1 inch = 72 puncte = 2,54 cm - se poate folosi pentru transformări în cm):
barcode -e 128 -b "foo" -D -o barcode.txt -g+144+72