Barcodes can't be scanned

Usually the horizontal line of the demo version doesn't affect reading (only if the barcode is very small, in such a case contact us for a temporary license key for proper testing).

Reading problems can occur if the printer has low resolution (<=300 dpi) - especially thermo transfer label printers need adaption. Solution: Adjust the narrow bar width to the pixel width of a printer dot.

You can do this by adjusting the property Module Width - examples:

200dpi ... 2Pixel = 0.254mm   (ModuleWidth = 254)
202dpi ... 2Pixel = 0.251mm   (ModuleWidth = 251)
203dpi ... 2Pixel = 0.250mm   (ModuleWidth = 250) (8 dots/mm!)
300dpi ... 3Pixel = 0.254mm   (ModuleWidth = 254)
305dpi ... 3Pixel = 0.250mm   (ModuleWidth = 250)

This diagram illustrates the optimization.

Optimize Barcode Quality

Similar effects can be achieved with the Optimize Resolution property* (see software documentation and Barcode Reference).

Important for Controls: If you change the ModuleWidth also the symbol width will change (but not the bounding rectangle), so make sure that the bounding rectangle of the Control is wide enough to hold the complete symbol in order to prevent clipping.

In some cases you need more white space around the bar code - or the bar code is clipped on the right side if the output medium is too small.

Low Grade with 203 dpi Thermal Printer

Fine tune the module width

Adapt the module width to the printer dot size (as shown above).

Adjust the draw mode

In order to cope with printer driver problems the drawing mode for bar codes can be switched between compatible and quality. If you see distortions in the bar code change the draw mode to compatible. If the bars are wider as they should be (and the gaps are too small) change the draw mode to quality. Depending on the software you are using, the draw mode can be adjusted either in the program options, in the config file or in the object properties.

Take care with Optimize Resolution

Depending on the printer vendor and the Windows printer driver the Optimize Resolution feature of TBarCode and TFORMer can either improve or decrease the quality.

Improved quality:

If the technical specification of the printer indicates a resolution of 203 dpi and the printer driver internally also calculates with 203.0 dpi, the Optimize Resolution feature can adapt the module width exactly to the Pixel raster of the printer. This leads to an increase of the bar code quality.

  • Examples for printers behaving like that: SATO printers, TFORMer ZPL compatible printers

Decreased quality:

If the technical specification of the printer indicates a resolution of 203 dpi - but the printer driver internally calculates with 203.2 dpi (8 dots/mm), the Optimize Resolution feature will fail. When optimizing for 203.0 dpi the module width adapts to a 0.125123 mm printing raster. But because the printer driver uses a dot width of 0.125 mm (203.2 dpi), the bars and gaps are calculated slightly wider as they should be.

  • Example for printers behaving like that: Carl Valentin printers, some Zebra printers

Conclusion:

In practice we have seen that it depends on the printer and printer driver if Optimize Resolution should be used or not. If you can see that the narrow bar width is not constant throughout the symbol you should consider to enable/disable the Optimize Resolution flag and then verify if the bar code quality is getting better or worse.

Depending on the software product you use, there are advanced options for dealing with the 8 Dots/mm (203.2 dpi) resolution problem. Please contact our support for more information and recommendations. With TFORMer built-in printer drivers you should always use Optimize Resolution.

Wrong Character(s) when reading a Barcode

Keyboard Layout

Problem: mixed up characters like "-" is read as"/".

Solution: change the keyboard layout setting in your keyboard wedge scanner.

These problems can occur with scanners connected to the keyboard cable of your system. The scanner translates the barcode into keystroke sequences - these keystrokes are language dependent. To solve the problem make sure that the "keyboard language" of the scanner matches the language of the used keyboard. Please check out the configuration manual of the scanner - usually the manual contains some configuration bar - codes which must be scanned with the scanner.

Codepage (2D Barcodes)

For encoding characters outside of the standard ASCII table (0-127) you can choose different code pages (with specific 2D bar codes). If you choose a non-standard code page (other than default) you can get mixed up or non readable characters. Whenever possible you should always use the default code page of the respective 2D bar code. If you try to encode special characters (like Ä or Ñ), make sure that the 2D symbology in use is able to encode them with the default code page.

Distorted Barcode Output, Black Bar at the Top

If this occurs during printing, this effect is caused by the printer driver. Along other printer models this effect happens with Toshiba TEC and DataMax printers.

If this occurs during bitmap generation, this effect is caused by the screen driver.

The solution is to change the draw mode of TBarCode:

TBarCode V8+

Set the ActiveX Property DrawMode to Compatible.

TBarCode V7

  1. Create a file barcode.ini with the following content:
  2. [DRAW_MODE]
    UseGDIRect=1
  3. Copy the barcode.ini file to the installation directory of TBarCode (where you can find the file tbarcode7.ocx or tbarcode7.dll).
  4. Restart the program.

Which Thermo Printers can be used with your Linux software?

Printers having a CUPS driver

You can use TBarCode/X and TFORMer with CUPS drivers. CUPS drivers exist for Dymo printers and Seiko printers. For other printers: Please contact your label printer company directly for available CUPS drivers.

PCL 5 printers

You can use TBarCode/X also with PCL-5 printers: For example, Microplex offers PCL-5 label printers

Zebra (ZPL) through TFORMer

Our TFORMer label software has a built-in ZPL-II driver for Zebra Thermo Printers (no CUPS driver required in this case).