File: a2389.html

package info (click to toggle)
appunti-informatica-libera 2001.08.18-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 27,912 kB
  • ctags: 23,734
  • sloc: makefile: 69
file content (164 lines) | stat: -rw-r--r-- 10,669 bytes parent folder | download
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 &nbsp;&nbsp; &nbsp;daniele&nbsp;@&nbsp;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. &nbsp; <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> &egrave; 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&ograve; essere utilizzato direttamente o convertito in altri formati grafici, attraverso programmi standard.</P>

<H2>302.1 &nbsp; <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&ograve; 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 &egrave; 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 &laquo;input&raquo;.</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>$&nbsp;</CODE><STRONG><CODE>barcode -E -e i25 -b "12345678" &gt; prova.ps</CODE></STRONG></P>

<P>Converte il numero 12&nbsp;345&nbsp;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>$&nbsp;</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>$&nbsp;</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 &nbsp; <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 &lt;<EM>NUL</EM>&gt; a &lt;<EM>US</EM>&gt;, il codice &lt;<EM>DEL</EM>&gt; 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 &lt;<EM>SOH</EM>&gt; a &lt;<EM>US</EM>&gt; e il codice &lt;<EM>DEL</EM>&gt;, 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>&lt;<EM>NUL</EM>&gt; </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, &egrave; 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 &copy; 2000-2001 Daniele Giacomini -- &nbsp;daniele&nbsp;@&nbsp;swlibero.org</EM><HR>

<P><A HREF="#footnote-ref1" NAME="footnote1">1)</A> <STRONG>Barcode</STRONG> &nbsp; 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>