[Gloucs] Hello I ve read your post on newsgroups aboutbarcoding

Anthony Nguyen gloucs at mailman.lug.org.uk
Mon Jul 28 10:54:01 2003


This is a multi-part message in MIME format.

------=_NextPart_000_01F5_01C3539F.BF0272A0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_01F6_01C3539F.BF057FE0"


------=_NextPart_001_01F6_01C3539F.BF057FE0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

( Formatted in HTML for easier read and sorry for my english, it's not my
natural language =) )

 

Thank you for your quick answer.

 

I'll think about using the same solution than you, but I have to do this
software for a bazaar and all the articles have a very small margin (sell
price is almost equal to manufacturer price) and the A4 sheets are a little
bit cheaper. I think that I'll generate the pictures for barcodes using some
free code then generate a PDF to print them. I ll have to make an interface
so the user can choose what stickers are left on the sheet to avoid these
wasted stickers too, I think.

 

 

About the added number at the end, some barcodes uses beginning/ending
characters: you can usually program it by sending some commands, if you
bought it as a manufacturer you can ask for the manual of your barcode
scanner.

 

Some norms of barcode also add beginning/ending characters.

 

Nah generating PDF in PHP is easy if you can find some example to study the
code (I can't provide you a link to this as the example, I learned from, is
written by some French people), the two main ways to do it are:

-       to use a library (FPDF is free)

-       to use the new PDF generating functions in PHP (requires a newer
version of PHP)

 

In fact, if doing it in PHP is too hard, I could also use a Java
servlet/applet to do it.

 

POS stands for Point of Sales, there are two norms in POS devices: OPOS
(mostly supported by Microsoft), JavaPOS (supported by ... uhh ... Sun).
Both of them are unified by 'Unified POS' standard.

-       http://www.javapos.com/ 

-       http://www.google.fr/search?hl=fr
<http://www.google.fr/search?hl=fr&ie=UTF-8&oe=UTF-8&q=OPOS&meta=>
&ie=UTF-8&oe=UTF-8&q=OPOS&meta=

-       http://www.google.fr/search?hl=fr
<http://www.google.fr/search?hl=fr&ie=UTF-8&oe=UTF-8&q=unified+POS&meta=>
&ie=UTF-8&oe=UTF-8&q=unified+POS&meta=

 

Here are the tools I am considering to do this (I hope that will help some
other people):

-       Barbecue (a free Java barcode generator library)

*        URL: http://freshmeat.net/projects/barbecue/

-       Krysalis Barcode (A barcode generation package written in Java.)

*        URL: http://freshmeat.net/projects/krysalis-barcode/

-       Barcode (a PHP tool using GD lib)

*        URL: http://freshmeat.net/projects/barcode/?topic_id=100 

-       Rbarcode (not free, Java, Delphi and Active X, not free, but not
expensive)

*        URL: http://www.java4less.com/index.htm 

-       ID Automation (not free but provide seems to have a good support)

*        URL: http://www.barcodefaq.com/barcode-printing.html 

 

Tools to generate PDF:

-       FPDF (PDF generation with PHP)

-       Big Faceless PDF Library (under Java, not free) 

*        URL: http://freshmeat.net/projects/bfopdf/ 

-       RReport (same than Rbarcode)

-       PHP: PDF functions

*        http://www.php.net/pdf 

-       Use the internal extensions/classes from Java to print it.

 

Commercials solutions are more complete and provide support for implementing
it, but you have to consider the fact that maybe your targeted business do
NOT need to generate all the kinds of barcodes.

 

For the rest of the application, I'm gonna use PHP and Smarty/Phrame and
I'll try to apply the MVC:

      - http://www.phpinsider.com/smarty-forum/viewtopic.php?t=464 

 

I hope these links will help people who had the same problems than us. They
were all found using:

      - http://www.google.com <http://www.google.com/>  

      - http://www.freshmeat.net <http://www.freshmeat.net/>  or
http://www.sourceforge.net <http://www.sourceforge.net/>  

 

__
Anthony Nguyen

 

-----Original Message-----
From: Guy Edwards [mailto:guy_j_edwards@hotpop.com] 
Sent: Saturday, July 26, 2003 2:35 PM
To: MAILING LIST
Cc: blue@anthonynguyen.net
Subject: Re: [Gloucs] Hello I ve read your post on newsgroups aboutbarcoding

 

On Fri, 2003-07-25 at 19:44, Anthony Nguyen wrote:

> Hello,

> 

> I'm writing a POS application, and I would like to know if you found a

 

POS? I hope that's PHP Open Source and not what POS normally stands for

:-)

 

>  solution for printing barcodes from PHP on a sheet of stickers. I am

 

Yes and no. Not on a sheet of stickers but almost as good.

 

>  thinking about generating a PDF but I would like to know if there was

> nothing already done to do this.

 

Well, what I did in the end was to add a GPL PHP barcoding app into my

own app, and then use a barcoding printer to make stickers the right

size - something like this:

 

1. In my app I select an item (like in a shopping cart situation).

2. Selecting the items uniqueID brings up a barcode image in a small

window of the unique id.

3. Printing that window onto a printer such as:

http://www.dabs.com/products/prod-search.asp?action=search&tid=340&ob=price&
stab=ref

(select "Smart Label Printer 100 203dpi" for further info)

will automatically create a label for you. It's not a sheet of A4

stickers but it doesn't involve wasting a sheet of A4 each time for one

sticker.

 

If storing the data in MySQL I think the uniqueid (or whatever you use

for the barcode) has to be an even number of digits and also you need to

fill the field with 0's so that item 1 becomes 0000000001 (which is just

an SQL statement which escapes me right now). These aren't MySQL

limitations of course, it just makes all the barcoding easier.

 

Initially I looked at using:

http://www.mribti.com/barcode/home.php

But settled on this application (php-barcode) instead in the end:

 http://www.ashberg.de/bar/download/

  note: you need to download + install the GNU barcode program first 

http://www.gnu.org/directory/GNU/barcode.html

        then genbarcode from the first link 

        then php-barcode from the first link.

 

Just one more thing:

When using my USB barcode scanner, it was scanning the number and adding

a 0 on the left and a 4 on the right of the number scanned so that an

eight digit number like:

00000009 became 00000000094

Now if you have a html form that limits the maximum size of inputed data

to say 8 digits in this example, your receiving PHP will get

00000000 as the number, which is the first 8 digits but isn't the number

you wanted.

Hence I made the maximum input size 2 digits larger and then wrote a

small bit of verification in there so that the numbers could be entered

with the barcode reader or by hand. If it detects the barcode reader is

being used, it chops the digit off each end and informs the user that it

thinks they're using the barcode reader.

 

PDF.... I don't have any experience of PHP and PDF together. I thought

it required a commercial library perhaps?

 

Hope it helps

Guy

 

-- 

Guy Edwards <guy_j_edwards@hotpop.com>

 

 


------=_NextPart_001_01F6_01C3539F.BF057FE0
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"place"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"time"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"stocktickeruk"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"stocktickerca"/>
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
 name=3D"date"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 77.95pt 1.0in 77.95pt;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:502474043;
	mso-list-type:hybrid;
	mso-list-template-ids:-1215109698 514599158 67698691 67698693 67698689 =
67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:.75in;
	mso-level-number-position:left;
	margin-left:.75in;
	text-indent:-.25in;
	font-family:"Courier New";
	mso-fareast-font-family:"Times New Roman";}
@list l1
	{mso-list-id:1281492896;
	mso-list-type:hybrid;
	mso-list-template-ids:1070777806 514599158 67698691 67698693 514599158 =
67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:.75in;
	mso-level-number-position:left;
	margin-left:.75in;
	text-indent:-.25in;
	font-family:"Courier New";
	mso-fareast-font-family:"Times New Roman";}
@list l1:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l1:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l1:level4
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";
	mso-fareast-font-family:"Times New Roman";}
@list l2
	{mso-list-id:1630281478;
	mso-list-type:hybrid;
	mso-list-template-ids:-510597578 67698695 67698691 67698693 67698689 =
67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
	{mso-level-number-format:image;
	list-style-image:url("cid:image001.gif\@01C3539F.BC6FE0E0");
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'>( Formatted in HTML for easier read and sorry for my english, =
it&#8217;s
not my natural language =3D) )<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'>Thank you for your quick answer.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>I'll think about using the same solution than =
you, but
I have to do this software for a bazaar and all the articles have a very =
small
margin (sell price is almost equal to manufacturer price) and the A4 =
sheets are
a little bit cheaper. I think that I'll generate the pictures for =
barcodes using
some free code then generate a PDF to print them. I ll have to make an
interface so the user can choose what stickers are left on the sheet to =
avoid
these wasted stickers too, I think.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>About the added number at the end, some =
barcodes uses beginning/ending
characters: you can usually program it by sending some commands, if you =
bought
it as a manufacturer you can ask for the manual of your barcode =
scanner.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>Some norms of barcode also add =
beginning/ending
characters.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>Nah generating PDF in PHP is easy if you can =
find some
example to study the code (I can&#8217;t provide you a link to this as =
the example,
I learned from, is written by some French people), the two main ways to =
do it
are:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l0 level1 lfo2'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>to use a library (FPDF is =
free)<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l0 level1 lfo2'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>to use the new PDF =
generating
functions in PHP (requires a newer version of PHP)<o:p></o:p></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>In fact, if doing it in PHP is too hard, I =
could also
use a Java servlet/applet to do it.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><st1:stocktickeruk =
w:st=3D"on"><st1:stocktickerca
 w:st=3D"on"><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:10.0pt'>POS</span></font></st1:stocktickerca></st1:sto=
cktickeruk>
stands for Point of Sales, there are two norms in <st1:stocktickeruk =
w:st=3D"on"><st1:stocktickerca
 w:st=3D"on">POS</st1:stocktickerca></st1:stocktickeruk> devices: OPOS =
(mostly
supported by Microsoft), JavaPOS (supported by ... uhh ... Sun). Both of =
them
are unified by 'Unified <st1:stocktickeruk =
w:st=3D"on"><st1:stocktickerca =
w:st=3D"on">POS</st1:stocktickerca></st1:stocktickeruk>'
standard.<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l0 level1 lfo2'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><a =
href=3D"http://www.javapos.com/">http://www.javapos.com/</a>
<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l0 level1 lfo2'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><a
href=3D"http://www.google.fr/search?hl=3Dfr&amp;ie=3DUTF-8&amp;oe=3DUTF-8=
&amp;q=3DOPOS&amp;meta=3D">http://www.google.fr/search?hl=3Dfr&amp;ie=3DU=
TF-8&amp;oe=3DUTF-8&amp;q=3DOPOS&amp;meta=3D</a><o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l0 level1 lfo2'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><a
href=3D"http://www.google.fr/search?hl=3Dfr&amp;ie=3DUTF-8&amp;oe=3DUTF-8=
&amp;q=3Dunified+POS&amp;meta=3D">http://www.google.fr/search?hl=3Dfr&amp=
;ie=3DUTF-8&amp;oe=3DUTF-8&amp;q=3Dunified+POS&amp;meta=3D</a><o:p></o:p>=
</p>

<p class=3DMsoPlainText style=3D'margin-left:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>Here are the tools I am considering to do =
this (I hope
that will help some other people):<o:p></o:p></span></font></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l0 level1 lfo2'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>Barbecue (a free Java =
barcode
generator library)<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:1.5in;text-indent:-.25in;mso-list:
l1 level3 lfo3'><![if !supportLists]><font size=3D2 =
face=3DWingdings><span
style=3D'font-size:10.0pt;font-family:Wingdings'><span =
style=3D'mso-list:Ignore'>&sect;<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>URL: <a
href=3D"http://freshmeat.net/projects/barbecue/">http://freshmeat.net/pro=
jects/barbecue/</a><o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>Krysalis Barcode (A barcode
generation package written in Java.)<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:1.5in;text-indent:-.25in;mso-list:
l1 level3 lfo3'><![if !supportLists]><font size=3D2 =
face=3DWingdings><span
style=3D'font-size:10.0pt;font-family:Wingdings'><span =
style=3D'mso-list:Ignore'>&sect;<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>URL: <a
href=3D"http://freshmeat.net/projects/krysalis-barcode/">http://freshmeat=
.net/projects/krysalis-barcode/</a><o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>Barcode (a PHP tool using =
GD lib)<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:1.5in;text-indent:-.25in;mso-list:
l1 level3 lfo3'><![if !supportLists]><font size=3D2 =
face=3DWingdings><span
style=3D'font-size:10.0pt;font-family:Wingdings'><span =
style=3D'mso-list:Ignore'>&sect;<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>URL: <a
href=3D"http://freshmeat.net/projects/barcode/?topic_id=3D100">http://fre=
shmeat.net/projects/barcode/?topic_id=3D100</a>
<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>Rbarcode (not free, Java, =
<st1:place
w:st=3D"on">Delphi</st1:place> and Active X, not free, but not =
expensive)<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:1.5in;text-indent:-.25in;mso-list:
l1 level3 lfo3'><![if !supportLists]><font size=3D2 =
face=3DWingdings><span
style=3D'font-size:10.0pt;font-family:Wingdings'><span =
style=3D'mso-list:Ignore'>&sect;<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>URL: <a
href=3D"http://www.java4less.com/index.htm">http://www.java4less.com/inde=
x.htm</a>
<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>ID Automation (not free but
provide seems to have a good support)<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:1.5in;text-indent:-.25in;mso-list:
l1 level3 lfo3'><![if !supportLists]><font size=3D2 =
face=3DWingdings><span
style=3D'font-size:10.0pt;font-family:Wingdings'><span =
style=3D'mso-list:Ignore'>&sect;<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>URL: <a
href=3D"http://www.barcodefaq.com/barcode-printing.html">http://www.barco=
defaq.com/barcode-printing.html</a>
<o:p></o:p></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>Tools to generate =
PDF:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>FPDF (PDF generation with =
PHP)<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>Big Faceless PDF Library =
(under
Java, not free) <o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:1.5in;text-indent:-.25in;mso-list:
l1 level3 lfo3'><![if !supportLists]><font size=3D2 =
face=3DWingdings><span
style=3D'font-size:10.0pt;font-family:Wingdings'><span =
style=3D'mso-list:Ignore'>&sect;<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>URL: <a
href=3D"http://freshmeat.net/projects/bfopdf/">http://freshmeat.net/proje=
cts/bfopdf/</a>
<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>RReport (same than =
Rbarcode)<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>PHP: PDF =
functions<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:1.5in;text-indent:-.25in;mso-list:
l1 level3 lfo3'><![if !supportLists]><font size=3D2 =
face=3DWingdings><span
style=3D'font-size:10.0pt;font-family:Wingdings'><span =
style=3D'mso-list:Ignore'>&sect;<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><a =
href=3D"http://www.php.net/pdf">http://www.php.net/pdf</a>
<o:p></o:p></p>

<p class=3DMsoPlainText =
style=3D'margin-left:.75in;text-indent:-.25in;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3D"Courier =
New"><span
style=3D'font-size:10.0pt'><span style=3D'mso-list:Ignore'>-<font =
size=3D1
face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]>Use the internal
extensions/classes from Java to print it.<o:p></o:p></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>Commercials solutions are more complete and =
provide
support for implementing it, but you have to consider the fact that =
maybe your targeted
business do NOT need to generate all the kinds of =
barcodes.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>For the rest of the application, I'm gonna =
use PHP and
Smarty/Phrame and I'll try to apply the =
MVC:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText style=3D'text-indent:.5in'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a
href=3D"http://www.phpinsider.com/smarty-forum/viewtopic.php?t=3D464">htt=
p://www.phpinsider.com/smarty-forum/viewtopic.php?t=3D464</a>
<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'>I hope these links will help people who had the same problems =
than us.
They were all found using:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a =
href=3D"http://www.google.com/">http://www.google.com</a>
<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a =
href=3D"http://www.freshmeat.net/">http://www.freshmeat.net</a>
or <a =
href=3D"http://www.sourceforge.net/">http://www.sourceforge.net</a> =
<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'>__<br>
Anthony Nguyen<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'>-----Original Message-----<br>
From: Guy Edwards [mailto:guy_j_edwards@hotpop.com] <br>
Sent: Saturday, <st1:date Year=3D"2003" Day=3D"26" Month=3D"7" =
ls=3D"trans" w:st=3D"on">July
 26, 2003</st1:date> <st1:time Minute=3D"35" Hour=3D"14" =
w:st=3D"on">2:35 PM</st1:time><br>
To: MAILING LIST<br>
Cc: blue@anthonynguyen.net<br>
Subject: Re: [Gloucs] Hello I ve read your post on newsgroups =
aboutbarcoding<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
style=3D'font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>On Fri, 2003-07-25 at 19:44, Anthony Nguyen =
wrote:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&gt; Hello,<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&gt; I&#8217;m writing a <st1:stocktickeruk =
w:st=3D"on"><st1:stocktickerca
 w:st=3D"on">POS</st1:stocktickerca></st1:stocktickeruk> application, =
and I would
like to know if you found a<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><st1:stocktickeruk =
w:st=3D"on"><st1:stocktickerca w:st=3D"on"><font
  size=3D2 face=3D"Courier New"><span lang=3DFR =
style=3D'font-size:10.0pt'>POS</span></font></st1:stocktickerca></st1:sto=
cktickeruk><span
lang=3DFR>? I hope that's PHP Open Source and not what =
<st1:stocktickeruk w:st=3D"on"><st1:stocktickerca
 w:st=3D"on">POS</st1:stocktickerca></st1:stocktickeruk> normally stands =
for<o:p></o:p></span></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>:-)<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&gt;&nbsp; solution for printing barcodes =
from PHP on
a sheet of stickers. I am<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Yes and no. Not on a sheet of stickers but =
almost as
good.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&gt;&nbsp; thinking about generating a PDF =
but I would
like to know if there was<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&gt; nothing already done to do =
this.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Well, what I did in the end was to add a GPL =
PHP
barcoding app into my<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>own app, and then use a barcoding printer to =
make
stickers the right<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>size - something like =
this:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>1. In my app I select an item (like in a =
shopping cart
situation).<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>2. Selecting the items uniqueID brings up a =
barcode
image in a small<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>window of the unique =
id.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>3. Printing that window onto a printer such =
as:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>http://www.dabs.com/products/prod-search.asp?a=
ction=3Dsearch&amp;tid=3D340&amp;ob=3Dprice&amp;stab=3Dref<o:p></o:p></sp=
an></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>(select &quot;Smart Label Printer 100 =
203dpi&quot; for
further info)<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>will automatically create a label for you. =
It's not a
sheet of A4<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>stickers but it doesn't involve wasting a =
sheet of A4
each time for one<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>sticker.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>If storing the data in MySQL I think the =
uniqueid (or
whatever you use<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>for the barcode) has to be an even number of =
digits
and also you need to<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>fill the field with 0's so that item 1 =
becomes
0000000001 (which is just<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>an SQL statement which escapes me right now). =
These
aren't MySQL<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>limitations of course, it just makes all the =
barcoding
easier.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Initially I looked at =
using:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>http://www.mribti.com/barcode/home.php<o:p></o=
:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>But settled on this application (php-barcode) =
instead
in the end:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&nbsp;http://www.ashberg.de/bar/download/<o:p>=
</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&nbsp; note: you need to download + install =
the GNU
barcode program first <o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>http://www.gnu.org/directory/GNU/barcode.html<=
o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
then
genbarcode from the first link <o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
then
php-barcode from the first link.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Just one more =
thing:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>When using my <st1:stocktickeruk =
w:st=3D"on"><st1:stocktickerca
 w:st=3D"on">USB</st1:stocktickerca></st1:stocktickeruk> barcode =
scanner, it was
scanning the number and adding<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>a 0 on the left and a 4 on the right of the =
number
scanned so that an<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>eight digit number =
like:<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>00000009 became =
00000000094<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Now if you have a html form that limits the =
maximum
size of inputed data<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>to say 8 digits in this example, your =
receiving PHP
will get<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>00000000 as the number, which is the first 8 =
digits
but isn't the number<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>you wanted.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Hence I made the maximum input size 2 digits =
larger
and then wrote a<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>small bit of verification in there so that =
the numbers
could be entered<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>with the barcode reader or by hand. If it =
detects the
barcode reader is<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>being used, it chops the digit off each end =
and
informs the user that it<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>thinks they're using the barcode =
reader.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>PDF.... I don't have any experience of PHP =
and PDF
together. I thought<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>it required a commercial library =
perhaps?<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Hope it helps<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Guy<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>-- <o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'>Guy Edwards =
&lt;guy_j_edwards@hotpop.com&gt;<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3D"Courier New"><span =
lang=3DFR
style=3D'font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_001_01F6_01C3539F.BF057FE0--

------=_NextPart_000_01F5_01C3539F.BF0272A0
Content-Type: image/gif;
	name="image001.gif"
Content-Transfer-Encoding: base64
Content-ID: <image001.gif@01C3539F.BC6FE0E0>

R0lGODlhDwAPAHcAACH/C01TT0ZGSUNFOS4wDQAAAAFzUkdCAK7OHOkAIf8LTVNPRkZJQ0U5LjAY
AAAADG1zT1BNU09GRklDRTkuMERuJlAzACH/C01TT0ZGSUNFOS4wGAAAAAxjbVBQSkNtcDA3MTIC
AQEGiroUzgAh+QQBAAABACwAAAAADwAPAIb/99jAwMD/0BP/1Cf/2Dv/32IAAABSUf94eP+Mi/+f
nv/Fxf//8LD/88QFBP8sK///9MT/+Nj/77D/88X/6In/8LH/2tr/v7//sbH/o6P/h4f/eXn/1zv/
4GL/z8//s7P/pqb/mJf/xMT/qKf/mpr/jIz/cXD/YmL/ra3/kZL/hIP/dXb/Wlr/TEz/oqL/hob/
eHf/amr/Tk7/QUD/lpb/enr/bW3/Xl//0BSfn//Gxf95d/+Li///6Ir/54l5eP94d/9SUv8sKv8r
K/8BAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMB
AgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMB
AgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMBAgMB
AgMBAgMBAgMBAgMHh4ABgoOEhYaCBoeDAgMcBQYUFQ0AhjgDBB0GPgyThowEj5sQEZ6XjxQSE6SF
lqCQnJQBNDU2N5YcmT0SnQEuLzAxMjMODwYHCDw5OgEoKSorLC0OQsZACQoLASIjJCUmJ9PGCNfZ
Hh8gIQbq6+wGFhcYGRobDkPGP9fLhsQGQTs82BQFSFQoEAA7

------=_NextPart_000_01F5_01C3539F.BF0272A0--