Print Perfect Barcodes to 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.

Thermal Transfer Barcode Label Printers

These are commonly used printers for barcode labeling. It is most important with this type of printer to make sure that you follow the manufacturer’s recommendations for setting up the printer and testing the barcodes. 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 barcodes 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 barcodes the manufacturer’s 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 barcodes 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 barcodes.This is because the software is just sending a command to print a barcode – a command that triggers the printer’s internal software to actually generate and print the correct barcode.

General Purpose Printers

General purpose printers, especially laser printers, are excellent for producing barcode labels on sheets of pre-cut labels (such as “Avery” labels) or on continuous feed labels. Obviously, for anyone needing extremely high quantities of barcodes 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 barcodes 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:

Dots Per Bar Width

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:

  1. Allows you to specify the target printer resolution or finds the resolution for you for the printer you have selected.
  2. 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.

Bar Width Reduction

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 barcodes are going to be printed on a commercial (wet ink) press. In this case the artwork containing the barcode 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 barcodes.

Barcode Graphic Type

There are 3 main types of barcode software products:

  1. Barcode Fonts
  2. Bit-map (Raster) Barcode Generators
  3. Vector Barcode Generators

Each is discussed below:

  1. Barcode Fonts

    “Barcode 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 barcode 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 barcode 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 barcode 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 barcodes.

  2. Bit-map Barcode 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 barcode designed to print one inch square on a 300 dpi printer were printed instead on a 600 dpi printer the resulting barcode would be ½ inch x ½ inch. This is because there would only be 300×300 pixels in the image instead of 600×600.

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

    Vector graphics are perfect for defining barcode 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 printer’s 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 barcode graphics are also much smaller than other barcode 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 barcode 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 barcodes in Windows and EPS in the Mac (Macs do not support WMF graphics).

    Once the barcode is created by any barcode software it should not be resized, scaled or stretched. If the barcode is to be transferred to a second party, information, such as the minimum printer resolution for that bar width, should be communicated.

Barcode Verification

As with Thermal Transfer printers, it is important to test the output from General Purpose printers using a barcode 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 barcode verifier he can submit the barcodes to a qualified testing organization. If nothing else, at least they should be tested with a barcode reader.

Further Information

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 TAL’s barcode generating software, B-Coder Pro and the ActiveX control. Use this to create barcodes in any size and any graphic format. Take the recommendations above to create barcodes as WMF Vector graphics and define the module (bar) width in “Printer Dots”. B-Coder Pro automates barcode production on labels and documents from MS Word, Access, PageMaker and other Windows application programs.

A FREE demo also available for the TALtech Barcode DLLs. These programmers’ tools allow developers to add high resolution, completely device-independent, barcode printing capability to their custom applications, royalty free! As with B-Coder Pro, the DLLs fully comply with industry recommendations to print 100% compliant barcodes.

Contact Us