1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML LANG="it">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html">
<META NAME="Generator" CONTENT="Alml">
<META NAME="Description" CONTENT="GNU/Linux e altro software libero">
<META NAME="Keywords" CONTENT="Linux, GNU/Linux, Unix, software, software libero, free software">
<META NAME="Author" CONTENT="Daniele Giacomini daniele @ swlibero.org">
<META NAME="Date" CONTENT="2001.08.18 ">
<META NAME="Resource-type" LANG="en" CONTENT="Document" >
<META NAME="Revisit-after" LANG="en" CONTENT="15 days" >
<META NAME="Robots" CONTENT="ALL" >
<TITLE> Appunti di informatica libera</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="a2.css">
<LINK REL="Start" TITLE="Start" HREF="a2.html">
<LINK REL="Prev" TITLE="Previous" HREF="a2388.html">
<LINK REL="Next" TITLE="Next" HREF="a2390.html">
</HEAD>
<BODY>
<P>
<A HREF="a2390.html">[successivo]</A>
<A HREF="a2388.html">[precedente]</A>
<A HREF="a2.html">[inizio]</A>
<A HREF="a2506.html">[fine]</A>
<A HREF="a21.html">[indice generale]</A>
<A HREF="a26.html">[violazione GPL]</A>
<A HREF="a2504.html">[licenze]</A>
<A HREF="a2505.html">[indice analitico]</A>
<A HREF="a2364.html">[tomo]</A>
<A HREF="a2387.html">[parte]</A>
</P>
<HR>
<DIV>
<H1>Capitolo 302. <A NAME="title4795"></A><A NAME="anchor5885"></A> <A NAME="index24549"></A>Barcode <A NAME="index24550"></A> <A NAME="index24551"></A> </H1>
<P><A NAME="index24552"></A>Barcode <SUP><A HREF="#footnote1" NAME="footnote-ref1">(1)</A></SUP> è una libreria e anche un programma molto semplice per la realizzazione di codici a barre standard a una sola dimensione. Il codice a barre viene realizzato in forma di file <A NAME="index24553"></A>PostScript, che successivamente può essere utilizzato direttamente o convertito in altri formati grafici, attraverso programmi standard.</P>
<H2>302.1 <A NAME="title4796"></A><A NAME="anchor5886"></A>
Utilizzo del programma </H2>
<P><A NAME="index24554"></A>Barcode, come programma, si compone in pratica dell'eseguibile <SAMP>barcode</SAMP>. Questo genera un file <A NAME="index24555"></A>PostScript che normalmente viene emesso attraverso lo <A NAME="index24556"></A>standard output.</P>
<P class="syntax"><TT>barcode<STRONG><BIG>[</BIG></STRONG><VAR>opzioni</VAR><STRONG><BIG>]</BIG></STRONG>
</TT></P>
<P>Teoricamente si può usare <A NAME="index24557"></A>Barcode anche senza l'indicazione di alcun argomento, per ottenere la conversione automatica di quanto inserito attraverso lo <A NAME="index24558"></A>standard input, scegliendo la simbologia in modo automatico. Tuttavia, in genere è opportuno accertarsi di selezionare la simbologia attraverso l'opzione <SAMP>-e</SAMP>.</P>
<P>Le opzioni che vengono mostrate qui sono poche; in particolare mancano quelle che servono a definire la stampa di codici a barre in modo organizzato sul foglio, allo scopo di centrare delle etichette adesive. Per approfondire basta leggere la documentazione originale: <EM>barcode.info</EM>.</P>
<DL>
<DT><STRONG>Alcune opzioni</STRONG></DT>
<DD>
<P class="syntax"><TT>-e<VAR>simbologia</VAR>
</TT></P>
<P>Consente di specificare la simbologia dei codici a barre che si vogliono realizzare. Sono disponibili diverse parole chiave da usare come argomento dell'opzione, secondo la tabella <A HREF="a2389.html#anchor5888">302.1</A>.</P>
<P class="syntax"><TT>-i<VAR>file</VAR>
</TT></P>
<P>Stabilisce il nome di un file contenente un elenco di codici da trasformare in codici a barre. Se manca questa indicazione e se manca anche l'opzione <SAMP>-b</SAMP>, viene letto lo <A NAME="index24559"></A>standard input. La lettera dell'opzione richiama mnemonicamente la parola «input».</P>
<P class="syntax"><TT>-b<VAR>stringa</VAR>
</TT></P>
<P>Consente di indicare una stringa da convertire in un codice a barre singolo. La stringa deve essere compatibile con i tipi di dati che possono essere rappresentati con la simbologia prescelta. La lettera dell'opzione richiama mnemonicamente la parola <EM>barcode</EM>, ovvero il codice a barre che si vuole ottenere dalla stringa.</P>
<P class="syntax"><TT>-E
</TT></P>
<P>Genera un file <A NAME="index24560"></A>PostScript incapsulato (<A NAME="index24561"></A>EPS).</P>
<DT><STRONG>Esempi</STRONG></DT>
<DD>
<P class="command"><CODE>$ </CODE><STRONG><CODE>barcode -E -e i25 -b "12345678" > prova.ps</CODE></STRONG></P>
<P>Converte il numero 12 345 678 in un codice a barre secondo la simbologia <A NAME="index24562"></A>interfogliata sue su cinque, generando il file <CODE>prova.ps</CODE>, di tipo <A NAME="index24563"></A>EPS.</P>
<P class="command"><CODE>$ </CODE><STRONG><CODE>barcode -E -e i25 -b "12345678" -o prova.ps</CODE></STRONG></P>
<P>Esattamente come nell'esempio precedente.</P>
<P class="command"><CODE>$ </CODE><STRONG><CODE>barcode -E -e isbn -b "88-386-4177-3" -o prova.ps</CODE></STRONG></P>
<P>Come nell'esempio precedente, usando la simbologia <A NAME="index24564"></A>EAN-13 per rappresentare un codice ISBN, come indicato con l'opzione <SAMP>-b</SAMP>.</P>
</DD>
</DL>
<H2>302.2 <A NAME="title4797"></A><A NAME="anchor5887"></A>
Codifica </H2>
<P>Generalmente, <A NAME="index24565"></A>Barcode viene utilizzato indicando il tipo di simbologia, attraverso una parola chiave secondo l'elenco della tabella <A HREF="a2389.html#anchor5888">302.1</A>. In generale, si tratta di nomi che fanno riferimento al tipo di codice a barre; in alcuni casi, il nome indica anche altre caratteristiche. Per esempio, la parola chiave <SAMP>code128b</SAMP> indica la simbologia <A NAME="index24566"></A>Code 128, nella quale si utilizza l'<A NAME="index24567"></A>insieme di caratteri B; inoltre, la parola chiave <SAMP>isbn</SAMP> fa riferimento al codice ISBN, che viene rappresentato correttamente secondo la simbologia <A NAME="index24568"></A>EAN-13.</P>
<TABLE ID="anchor5888" BORDER="3">
<THEAD>
<TR><TD>Simbologia </TD><TD>Parola chiave </TD></TR>
</THEAD>
<TBODY>
<TR><TD><A NAME="index24570"></A>UPC-A </TD><TD>upc-a </TD></TR>
<TR><TD><A NAME="index24571"></A>UPC-E </TD><TD>upc-e </TD></TR>
<TR><TD><A NAME="index24572"></A>UPC-A o <A NAME="index24573"></A>UPC-E automaticamente </TD><TD>upc </TD></TR>
<TR><TD><A NAME="index24574"></A>EAN-8 </TD><TD>ean8, ean-8 </TD></TR>
<TR><TD><A NAME="index24575"></A>EAN-13 </TD><TD>ean13, ean-13 </TD></TR>
<TR><TD><A NAME="index24576"></A>EAN-8 o <A NAME="index24577"></A>EAN-13 automaticamente </TD><TD>ean </TD></TR>
<TR><TD><A NAME="index24578"></A>Code 39 </TD><TD>code39, 39 </TD></TR>
<TR><TD><A NAME="index24579"></A>Code 128 <A NAME="index24580"></A>insieme di caratteri B </TD><TD>code128b, 128b </TD></TR>
<TR><TD><A NAME="index24581"></A>Code 128 <A NAME="index24582"></A>insieme di caratteri C </TD><TD>code128c, 128c </TD></TR>
<TR><TD><A NAME="index24583"></A>Code 128 <A NAME="index24584"></A>insieme di caratteri A, B o C, automaticamente </TD><TD>code128, 128 </TD></TR>
<TR><TD><A NAME="index24585"></A>Code 128 libero </TD><TD>128raw </TD></TR>
<TR><TD><A NAME="index24586"></A>interfogliata due su cinque </TD><TD>i25, interleaved 2 of 5 </TD></TR>
<TR><TD><A NAME="index24587"></A>Codabar </TD><TD>cdr, codabar </TD></TR>
<TR><TD><A NAME="index24588"></A>Plessey </TD><TD>pls, plessey </TD></TR>
<TR><TD>ISBN attraverso <A NAME="index24589"></A>EAN-13 </TD><TD>isbn </TD></TR>
</TBODY>
</TABLE>
<P><EM> Tabella <A HREF="a2389.html#anchor5888">302.1</A>. Simbologie disponibili con <A NAME="index24569"></A>Barcode. </EM></P>
<P>Nel caso dell'uso della simbologia <A NAME="index24590"></A>Code 128, si pone il problema di rappresentare i codici da <<EM>NUL</EM>> a <<EM>US</EM>>, il codice <<EM>DEL</EM>> e le funzioni speciali previste dalla simbologia. Usando l'eseguibile <SAMP>barcode</SAMP> diventa difficile indicare questi simboli; con la libreria non ci sono problemi a indicare i codici ASCII da <<EM>SOH</EM>> a <<EM>US</EM>> e il codice <<EM>DEL</EM>>, mentre negli altri casi viene fatta una trasformazione, come rappresentato nella tabella <A HREF="a2389.html#anchor5889">302.2</A>.</P>
<TABLE ID="anchor5889" BORDER="3">
<THEAD>
<TR><TD>Codice o simbolo </TD><TD>Ottale </TD><TD>Decimale </TD><TD>Esadecimale </TD></TR>
</THEAD>
<TBODY>
<TR><TD><<EM>NUL</EM>> </TD><TD>200<SUB>8</SUB> </TD><TD>128 </TD><TD>80<SUB>16</SUB> </TD></TR>
<TR><TD>FNC 1 </TD><TD>301<SUB>8</SUB> </TD><TD>193 </TD><TD>C1<SUB>16</SUB> </TD></TR>
<TR><TD>FNC 2 </TD><TD>302<SUB>8</SUB> </TD><TD>194 </TD><TD>C2<SUB>16</SUB> </TD></TR>
<TR><TD>FNC 3 </TD><TD>303<SUB>8</SUB> </TD><TD>195 </TD><TD>C3<SUB>16</SUB> </TD></TR>
<TR><TD>FNC 4 </TD><TD>304<SUB>8</SUB> </TD><TD>196 </TD><TD>C4<SUB>16</SUB> </TD></TR>
</TBODY>
</TABLE>
<P><EM> Tabella <A HREF="a2389.html#anchor5889">302.2</A>. Rappresentazione dei caratteri speciali per la simbologia <A NAME="index24591"></A>Code 128, quando si usa la libreria <A NAME="index24592"></A>Barcode. </EM></P>
<P>Sempre a proposito della simbologia <A NAME="index24593"></A>Code 128, è possibile utilizzando la parola chiave <SAMP>128raw</SAMP> per indicare un codice attraverso una stringa espressa nella forma:</P>
<P class="syntax"><TT><VAR>n_1</VAR><VAR>n_2</VAR>...<VAR>n_n</VAR>
</TT></P>
<P>In pratica, si indicano una serie di numeri separati tra loro da uno spazio. I numeri in questione rappresentano il valore indicato nelle tabelle <A HREF="a2388.html#anchor5875">301.3</A> e <A HREF="a2388.html#anchor5876">301.4</A>; inoltre occorre tenere in considerazione che va fornito anche il valore iniziale, con il quale si definisce solitamente l'<A NAME="index24594"></A>insieme di caratteri A, B o C, mentre il <A NAME="index24595"></A>codice di controllo finale e lo stop sono aggiunti automaticamente.</P>
Appunti di informatica libera 2001.08.18 --- <EM>Copyright © 2000-2001 Daniele Giacomini -- daniele @ swlibero.org</EM><HR>
<P><A HREF="#footnote-ref1" NAME="footnote1">1)</A> <STRONG>Barcode</STRONG> GNU GPL</P>
</DIV>
<HR>
<P>Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome <A HREF="barcode.html">barcode.html</A></P>
<P>
<A HREF="a2390.html">[successivo]</A>
<A HREF="a2388.html">[precedente]</A>
<A HREF="a2.html">[inizio]</A>
<A HREF="a2506.html">[fine]</A>
<A HREF="a21.html">[indice generale]</A>
<A HREF="a26.html">[violazione GPL]</A>
<A HREF="a2504.html">[licenze]</A>
<A HREF="a2505.html">[indice analitico]</A>
</P>
</BODY>
</HTML>
|