We're trying to output labels to a Zebra label printer using standard .Net System.Drawing.Printing classes, and it looks like crap. I've seen other label-printing apps output fonts that are are tiny, high-contrast, and readable. Other barcodes are tiny, yet scannable with crisp, sharp bars. Color logos come out in diffusion-dithered black and white.
Trying to draw anything that small in our app is unreadable; even 12-point fonts come out with artifacts all over the place. Barcodes have little halftoning patterns on their edges, and logos look like a 20th-generation photocopy.
I read through some Zebra docs, and they suggest writing raw EPL codes to the printer via serial emulation. We cannot do this, we have to work on whatever Windows printer the customer selects. Is there some way to render to the device resolution, or prevent dithering?