|
Printing Perfect Bar Codes From ANY Printer
Printing 100% compliant barcodes from any printer to any label
or document will ensure perfect readability. With good quality
label printers with built-in barcode support this is usually possible
as long as you carefully follow the manufacturer's quality control
directions. But good thermal printers can cost several thousand
dollars and are only designed for label printing. What about printing
from general purpose printers, such as laser printers? In this
case the software used is critical to guarantee perfect barcodes.
The guidelines below are based on the industry standard recommendations of the
Uniform Code Council for EAN/UPC symbols but the concepts apply equally well
to all barcode symbologies.
As a user it is important to understand these concepts in selecting the best
hardware and software for barcode printing.
These are commonly used printers for barcode
labeling. It is most important with this type of printer to make
sure that you
follow the manufacturers recommendations for setting up the
printer and testing the bar codes. Direct thermal and thermal transfer
printers require specific settings for best results depending on
the combination of label and ribbon materials. The manufacturer
will supply the directions for the correct adjustment for your
printer type.
It is also very important to verify bar codes using an ANSI based verifier.
This should be done after any change in the label material or any change in
the printer or it settings. It should also be done or a regular basis to ensure
quality is maintained and when printing a long run.
To maintain the quality of printed bar codes the manufacturers
directions for cleaning the print head and guide surfaces should be
followed. It will
also be necessary to replace the thermal print head eventually as these wear
out. When this happens the bar codes will no longer be readable as one or more
of the dot elements will not heat properly.
It is so important to verify printed symbols on a regular basis that some thermal
printers can be equipped with on-line verifiers.
With thermal printers the quality of the label design software you
use will not effect the quality of the printed bar codes.This is because
the software
is just sending a command to print a bar code - a command that triggers the
printers internal software to actually generate and print the correct
bar code.
General purpose printers, especially laser printers, are excellent
for producing bar code labels on sheets of pre-cut labels (such
as "Avery" labels) or on continuous feed labels. Obviously,
for anyone needing extremely high quantities of bar codes on a
daily basis thermal transfer printers with their high speed would
be better, but for many users general purpose printers, especially
laser printers, are preferably.
Laser printers are also perfect for creating bar codes on documents, such as
medical and legal records, coded "mail-merge" letters, etc. Imagesetters,
such as Linotronic printers, are used to create high quality, 2540+ dpi, film
positives and negatives for commercial printing.
With general purpose printers, including laser, desk top, ink jet, ion deposition,
dot matrix and imagesetter, the software used is critical to ensuring readable
symbols.
"There is a wide variety of software packages for creating
symbols using general purpose printers. Unfortunately, many of
these packages are capable of producing symbols with totally unacceptable
quality."
UCC Guidelines for Producing
Quality Symbols, April 1998
The software used should be able to satisfy the following
requirements:
When specifying the narrow
bar (module) width the user should be able to specify an integer
multiple of the printer dot width.
This is best explained with an example. For a 600dpi printer the
actual dot width is 1/609.6* = 0.00164". The module width
should be specified as an integer multiple of printer dots, i.e.
8 dots per module gives a width of 13.12 Mils and a Magnification Factor of
100.95%
7 dots per module gives a width of 11.48 Mils and a Magnification Factor of
88.33%.
(*A 600 dpi printer with an actual 609.6 dpi)

Module (bar) width defined as 8 printer dots or 13.12 Mils or a Magnification
Factor of 100.95%
Module (bar) width defined as 13 Mils or a Magnification Factor
of 100%. This is not an Integer number of printer dots. Rounding
errors could occur when printing.
The easiest way to achieve the correct module width for your printer
is to have software that:
i. Allows you to specify the target printer resolution
or finds the resolution for you for the printer you have selected.
ii. Then allows you to specify the module width in "printer
dots" (it would already know the "dots per inch").
You would select the number of printer dots that most closely matches
the Magnification Factor, or module width in Mils, that you desire.
If you wanted 100% magnification an "8 printer dot" width
for a 600 dpi printer would be the closest.
The software you select also needs to have an option for "Bar
Width Reduction." This is important when printing to any printer
that has "dot spread". This includes ink jet printers
and "wet ink" printers (but not laser printers). For
these printers one dot of bar width reduction is recommended per
bar width. For instance for a 300 dpi ink jet printer with a module
width of 13.12 Mils (4 printer dots per module width) Bar Width
Reduction of one dot would be 3.28 Mils or 25%.
Bar Width Reduction is also required when bar codes are going to be printed
on a commercial (wet ink) press. In this case the artwork containing the bar
code is usually output on film from an Image setter. Image setters have resolutions
of 2400+ dpi so the required bar width reduction can be specified exactly.
The actual amount of reduction required is determined by the paper and ink
used and this should be specified by the printer. If printing to a smooth hard
surface, such as a glass bottle, Bar Width Gain may be required. Again, you
should consult your commercial printer for his recommendations before generating
the bar codes.
There are 3 main types of bar code software products:
- Bar Code Fonts
- Bit-map (Raster) Bar Code Generators
- Vector Bar Code Generators
Each is discussed below:
1 Bar Code Fonts
"Bar code fonts have been known to create EAN/UPC
symbols with serious design defects. The problems may be
caused by the design of the font, an operator input, or a
combination of both."
UCC Guidelines for Providers of EAN/UPC Symbol
Design Software, July 1997.
"Extreme caution should be used when producing EAN/UPC
symbols with bar code fonts."
The Uniform
Code Council does not recommend the use of fonts. As problems
it cites in particular the ability to manipulate the size of
individual characters (distortion), spacing between the characters
(kerning) and the possibility of font or resolution substitution
at the output stage. However there are many other problems
with bar code fonts. The user cannot specify the module (bar)
width exactly in printer dots. Fonts do not support Bar Width
Reduction. Nor do they support many of the features specific
to bar code symbols such as Bearer Bars, Quiet Zones, independent
symbol height and module (bar) width specification, symbol
rotation and support for binary data (including ACSII nulls
in Code 128, Code 39, Code 93 and PDF 417). In addition, most
fonts do not automatically calculate and add check digits and
other security features to bar codes.
2 Bit-map Bar Code Generators
A bit map image is device dependent. This means a bitmap of
a one inch square to be printed at 300 dpi would be 300 pixels
across by 300 pixels down. If a bar code designed to print one
inch square on a 300 dpi printer were printed instead on a 600
dpi printer the resulting bar code would be ½ inch x ½ inch.
This is because there would only be 300x300 pixels in the image
instead of 600x600.
The other problem with bit-maps images is their size. If you are printing
to a 200 dpi printer a one inch square would contain 200 x 200 =40,000 bits
of data. This is bad enough but to a higher resolution printer, such as a
common 600 dpi printer it would be 360,000 bits of data (and 6.5 million
bits of data for a 2540 dpi Image setter!!). These huge files not only use
large amounts of computer memory they also print extremely slowly.
3 Vector Bar Code Generators
Vector graphics are perfect for defining bar code images. A
vector image is a set of drawing commands that precisely defines
the edges of each bar and specifies how to fill in the area created
within the defined edges.
Vector images are completely device independent as they are a set of precise
commands instead of a collection of dots. A 1" x 1" box will print
1" by 1" on a 100, 600 or 2540 dpi printer! When a vector image
is sent to a general printer the printers software converts it to a
raster image so that it can print it. The Raster Image Processor in the Printer
converts the precise path commands in the vector graphic into a series of
pixels. Hence the exact measurements of the image are influenced by the resolution
of the printer. A higher resolution printer will be able to more precisely
match the exact measurements of the vector graphic. A lower resolution printer
will need to round the dimensions to the nearest integer number of printer
dots. This is why it is so important, especially in printers of 600 dpi or
less, to specify the module (bar) width in integers of printer dots (see
part 1 above).
Vector bar code graphics are also much smaller than other bar code graphics
so they print many, many times faster. For instance, a typical 1" high
UPC code at 100% magnification would create a 149 KB bitmap for a 600 dpi
printer. A Windows Metafile (WMF) vector graphic of this bar code would be
2 KB and an Encapsulated Postscript (EPS) vector graphic with a TIFF preview
would be 48 KB and 29 KB without the TIFF preview. Windows Metafiles (WMF)
are the best graphic format for bar codes in Windows and EPS in the Mac (Macs
do not support WMF graphics).
Once the bar code is created by any bar code software it should not be resized,
scaled or stretched. If the bar code is to be transferred to a second party,
information, such as the minimum printer resolution for that bar width, should
be communicated.
As with Thermal Transfer printers, it is important to test the
output from General Purpose printers using a bar code verifier.
The UCC recommends using the test symbols:
0 12345 01234 1
6 78912 56789 0
If they fall below a grade B check that you have specified a Magnification
Factor (or module width) that corresponds to an integer number of printer dots
per module (bar) width. Bar Width Reduction may also be required as discussed
above.
If the user does not have a bar code verifier he can submit the bar codes to
a qualified testing organization. If nothing else, at least they should be
tested with a bar code reader.
For the complete, in-depth, guidelines please refer to the following
Uniform Code Council documents
- UCC Guidelines for Producing Quality Symbols, April 1998
- Guidelines for providers of EAN/UPC Symbol Design Software,
July 1997
- UCC Technical Bulletin #1, April 1997
You can download a FREE demo for TALs bar code generating
software, B-Coder
Pro and the ActiveX
control. Use this to create bar codes in any size and any graphic
format. Take the recommendations above to create bar codes as WMF
Vector graphics and define the module (bar) width in "Printer
Dots". B-Coder Pro automates bar code production on labels
and documents from MS Word, Access, PageMaker and other Windows
application programs.
A FREE demo also available for the TALtech
Bar Code DLLs. These programmers tools allow developers to add high
resolution, completely device-independent, bar code printing capability to
their custom applications, royalty free! As with B-Coder Pro, the DLLs fully
comply with industry recommendations to print 100% compliant bar codes.
See Also:
B-Coder Pro
TALTech Bar Code DLLs
TALtech ActiveX
Control
Bar Code Basics
How a Bar Code Reader Works
Bar Code Symbology Descriptions |