ch24.html
10.9 KB
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
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 24. Linear Barcodes (One Dimensional Barcodes)</title><link rel="stylesheet" type="text/css" href="manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.0"><link rel="home" href="index.html" title="JpGraph Manual"><link rel="up" href="pt06.html" title="Part VI. Barcodes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 24. Linear Barcodes (One Dimensional Barcodes)</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center">Part VI. Barcodes</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="chapter" title="Chapter 24. Linear Barcodes (One Dimensional Barcodes)"><div class="titlepage"><div><div><h2 class="title"><a name="id2595632"></a>Chapter 24. Linear Barcodes (One Dimensional Barcodes)</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ch24.html#id2595642">24.1. Introduction</a></span></dt><dt><span class="sect1"><a href="ch24s02.html">24.2. How does linear barcodes work?</a></span></dt><dt><span class="sect1"><a href="ch24s03.html">24.3. Barcode symbologies</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch24s03.html#id2595884">24.3.1. Numerical only barcode symbologies</a></span></dt><dt><span class="sect2"><a href="ch24s03.html#id2595984">24.3.2. Alphanumerical barcode symbologies</a></span></dt><dt><span class="sect2"><a href="ch24s03.html#id2596044">24.3.3. Which symbology should be used?</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch24s04.html">24.4. Features</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch24s04.html#id2596334">24.4.1. Sample application</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch24s05.html">24.5. Creating barcodes - quick start</a></span></dt><dt><span class="sect1"><a href="ch24s06.html">24.6. Error handling</a></span></dt><dt><span class="sect1"><a href="ch24s07.html">24.7. Generating barcodes on the command line</a></span></dt><dt><span class="sect1"><a href="ch24s08.html">24.8. Format options for barcodes</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch24s08.html#id2596909">24.8.1. Adjusting the encodation process</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597037">24.8.2. Selecting output format</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597044">24.8.3. Writing barcodes to a file</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597234">24.8.4. Hiding the human readable text</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597265">24.8.5. Adjusting the module width</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597395">24.8.6. Setting vertical or horizontal layout</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597418">24.8.7. Adjusting height of bar code</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597385">24.8.8. Scaling of bar codes</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597465">24.8.9. Add frame around bar code</a></span></dt><dt><span class="sect2"><a href="ch24s08.html#id2597509">24.8.10. Examples of adjusting the output</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch24s09.html">24.9. Short description of supported symbologies</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch24s09.html#id2597569">24.9.1. UPC A</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2597660">24.9.2. UPC E</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2597818">24.9.3. EAN 8</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2597973">24.9.4. EAN 13</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2598038">24.9.5. EAN 128</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2598150">24.9.6. Industrial 2 of 5</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2598244">24.9.7. Interleaved 2 of 5</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2598510">24.9.8. CODE 11 (USD 8)</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2598581">24.9.9. CODE 39</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2598798">24.9.10. CODE 39 Extended</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2598941">24.9.11. CODE 128</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2599111">24.9.12. CODABAR</a></span></dt><dt><span class="sect2"><a href="ch24s09.html#id2599182">24.9.13. Bookland (ISBN)</a></span></dt></dl></dd></dl></div>
<div class="sect1" title="Introduction"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2595642"></a>Introduction</h2></div></div></div>
<div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>This module is only available in the pro-version of the library.</p></div>
<p>With the linear (One-dimensional) barcode extension it is possible to create bar
codes using all the commonly accepted symbologies. The resulting bar code can be
created as either an image (in PNG or JPEG format) or as a Postscript file ready for
printing on high resolution printers. </p>
<p>The bar code extension provides extensive data verification which makes sure that
the created barcode follows the official applicable standards.</p>
<p>
</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
<p>All generated bar codes (except CODE 11 which have little support in
Europe) have been extensively verified using Metrologic CCD-47 handhold
scanner. </p>
</div><p>
</p>
<p>In order to create a linear barcode the module
"<code class="filename">jpgraph_barcode.php</code>" must be included.</p>
<p>There are several types of linear barcode even though they all use the same
principle. The reason for several different types (or symbologies as it is known) is
partly to handle different requirements (for example encoding just numerical data or
both numerical and alphabetical data) and partly because they were initially created
by different companies to solve similar problems. The library supports most of the
common linear barcode. These types of barcode look like what can be usually seen on
consumer goods.</p>
<p>The different types of barcodes are often referred to as different
symbologies.</p>
<p>Most of the commonly used symbologies has been elevated to ISO/IEC standards. Some
barcode which have not yet been accepted as ISO standard are available from AIM
(<code class="uri"><a class="uri" href="http://www.aimglobal.org" target="_top">http://www.aimglobal.org</a></code>). In
USA the organization responsible for issuing retail codes used in barcodes are the
<span class="italic">Uniform Code Council</span>, (UCC) <code class="uri"><a class="uri" href="http://www.uc-council.org/" target="_top">http://www.uc-council.org</a></code>.</p>
<p>While these standards are very comprehensive they are of little interest to end
user of the barcode. For an end user the three most important question when
selecting a barcode symbology are</p>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
<p>What characters can be encoded in this symbology?</p>
</li><li class="listitem">
<p>How efficient is the symbology, i.e. how large will the barcode be for
a given input data string? </p>
<p>Linear barcodes typically encode alphanumerical strings up to maximum
of ~20 characters. </p>
<p>
</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
<p>While many of the barcode symbologies can handle, in theory
unlimited, string lengths there are practical limitation to how
wide barcode a given reader/scanner can interpret. Most handhold
scanners can usually not reliable read a barcode wider than
~10cm.</p>
</div><p>
</p>
</li><li class="listitem">
<p>How strong is the tolerance against physical damage, i.e. how large
percentage of the barcode can be destroyed while still be readable by a
scanner?</p>
<p>The tolerance for linear barcode are in general low. If one ore more
of the bars (making up the barcode) is unreadable the whole barcode is
in practice unreadable. While some barcode symbologies include a check
digit this is not enough to re-create damaged data. It is only enough to
verify with some confidence that the data is intact, however there is
still no guarantee since two errors might, by coincidence, make the
check digit correct. </p>
<p>A common way to strengthen linear barcodes is to make them physically
larger/taller.</p>
</li></ol></div><p>While linear barcodes is still widely used in legacy applications
there are almost no new applications that uses linear barcode due in part to the
limitations listed above (poor fault tolerance and low capacity). Most new
applications uses either RFID tags or two dimensional barcodes (described in the
following chapters) which have much higher data capacity and fault tolerance.</p>
</div>
</div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"><a accesskey="u" href="pt06.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>