I currently have a VB program that prints barcode labels to the printer directly using the printer.print method.
It prints a box and some text and the barcodes are printed using a 3rd party control that prints using its own method, eg.
BC1.PaintAt Printer.hdc, (1440 / Printer.TwipsPerPixelX) +...