My company develop an inventory management web-app and part of the required functionality is to offer users to print barcodes from within the web app without the aid of a 3rd party solutions or a client app that bridges between the web and the zebra printer.
My experiments included the following:
Using PDFKit + bwip-js to construct the PDF document and to position the barcode image (of a lossless PNG format) properly inside. While this provided a solid document, the chrome printing dialog scale the image and therefore the barcode was corrupted on print
Taking the same PDF output from step 1 to Adobe reader print dialog yielded a more quality print, but the barcode was positioned differently on the label. In this case I didn't changed the printing settings for scaling and positioning just to chexk how natively Adobe will print it.
I acknowledged from different threads that sending a pure ZPL from a web client to Zebra is virtually not possible unless a 3rd party solution like QZ Tray or Zebra PDF printer (commercial product) are used.
Since we try to support multiple printer brands, and since the quality of the barcode label printed from Adobe Reader is fairly good, I wonder if anyone can vouch this is a viable, quality solution that won't hurt barcode quality and readability across the common barcode printers. And what is the preferred tech stack to achieve that.
Zebra Thermal printers are usually small factor monochrome dot matrix, with fixed characters per inch and onboard eprom for graphics.
Thus similar to older typewriter line or ticker tape devices they are nore like 204 dpi FAX, so nothing like vector lasers which PostScript and hence PDF was designed for.
Results from plain text with PNG / TIF monochrome style graphics will always be better than a fuzzy rendered 600dpi hexavalent PDF.
However Zebra have recognised the need for top of the range models to compete with Lasers and there are greyscale or PDF Direct models that can alter the PDF dot positions to suit the fixed burner heads in a thermal device.
There are also "Middleware" servers to do the conversion between a POS device and the Server controlled printer.
In short ZPL (or its POS/Esc equivalent) for matrix roll plotter devices will beat the pants off any PDF via driver conversion.
If using a SDK is avoidable via a System Driver then consider Seagull Bartender drivers as they are usually better at fettling the dots.
Adobe are the best at converting PDF (its their format) into other printer manufactures code.