I need to print labels with a barcode (typically Code 128) from my .NET Windows application. Since customers have different printers - different Eltron/Zebra models and different manufacturers (like GoDEX, Sato, ...) - I would like to see my application to be entirely (or at least mostly) agnostic to the actual printer model.
I have therefore tried to print such labels with barcodes using the printer's Windows driver. In that approach, the barcode apparently gets rendered as an image on the PC and the printer just outputs it as a pixel image. Perhaps the entire label gets rendered as an image, I am not sure about that. As a side-note: I am actually using XtraReports to print the labels, but that by itself should not contribute to the problem below.
However, that approach yields poor barcode quality. I have had to troubleshoot the output many times by adjusting printer driver settings (e.g. temperature, speed, etc.) and still some percentage of the barcodes is not accepted by subsequent systems.
I know I could just send "raw" EPL/ZPL commands to a Zebra printer and it would render the barcode itself - resulting in a much better quality.
However, that approach has two downsides:
- first, the the raw commands may differ between printer models and quite likely between manufacturers. Not sure of EPL/ZPL is such a widely supported "lingua franca"
- second, if a customer would want the label content to be changed/re-arranged, then that becomes a pretty un-intuitive job - specifically compared to just re-designing the label in XtraReports. I know there is Z-Designer, but that does not integrate in my application and is (presumably) specific to Zepra printers.
Is there an approach to basically combining the best of both worlds. Basically use the Windows driver to draw/print the overall label, but let the printer render the barcode in its best quality?
I am vaguely aware of using barcode fonts that could be loaded from or onto the printer, but am not sure how much better the quality is, how much setup would be needed on the PC and how well that is supported across printer models and manufacturers. Seems like another can of worms to me.