<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>