When printing to lower resolution printers (particularly some bar code label printers) there are certain settings that you need to pay attention to. This Article will help identify those settings and explain why they are so important.
The way that our software works is that when you print, it generates Windows “Rectangle” API calls that are fed to the printer driver for the particular printer that you are printing to. It uses a high resolution mapping mode with a resolution of 2540 dots per inch internally however the printer driver will always convert the rectangle coordinates to fit the resolution of the particular printer that you are using.
In order to obtain the best results for a particular printer, you should select values for the NarrowBarWidth property that are integer multiples of the width of a single dot on the printer that you are using. For example, if you are printing to a printer that has a resolution of 200 DPI which means that the smallest dot that it can print is 1/200 inches wide (1/200 inches equals 5 mils or 5/1000 inch).
This means that you should use the value of 10 or 15 mils for the NarrowBarWidth property of ActiveX the control in order to get the best results. You should also use integer values for the NarrowToWideRatio property as well (i.e. 2 or 3).
When you select values for the NarrowBarWidth property that are not integer multiples of the width of the smallest dot that your printer is capable of resolving, then the printer driver for the printer must round the width of the bars and spaces in the bar code to the nearest integer value (a printer can only print whole dots). This rounding will cause your bar codes to be rendered in a manner that may make them difficult to read. This is especially true when printing to low resolution printers (under 300 DPI).