windows-cezebra-printerszplhandheldepl

Do the Zebra QL220 and QLn220 printers need to be set to different device languages?


My QLn220 printer is set to "hybrid_xml_zpl" and it works fine (I can send it CPCL commands, and it prints labels as I want them to look).

My QL220 printer (older model) is more quirky, though; it sometimes prints the raw commands I send it (untranslated) rather than viewing the commands as such. I don't know what device.languages is set to with that printer, because it has no usb port to attach to the PC (if it did, I could run Zebra Setup Utilities, sending it "! U1 getvar "device.languages"" (which is what I did with the QLn220).

So my question is, should I set the QL220 (in code) to "hybrid_xml_zpl"? Or should I set it to "ZPL" or something else?

Apparently there are at least this many different options:

epl_zpl
EPL
hybrid_xml_zpl
ZPL

As I have not been able to read the Zebra belt printer's device language value programmatically (see How can I read a string from OpenNETCF.IO.Ports.SerialPort?), I need to set it in code to something sensible.

What I'm afraid of is that it needs to be "hybrid_xml_zpl" for the QLn220, but something else (what?) for the QL220.

So: Will I need to have the user differentiate between printer models ( choose their model from a list), and then programmatically set the appropriate device language by sending that command to the printer, or can I get by with sending the same command/using the same device language (presumably "hybrid_xml_zpl") for both the QL220 and the QLn220?

If I need something other than "hybrid_xml_zpl" for the older QL220 models (perhaps this device language post-dates that model?), what do I need to set as the device language of the QL220?


Solution

  • It depends on the model of QL220 you have. If its an A model, it cant run ZPL. If its a B model, it can run either CPCL or ZPL but not at same time. To be safe, can you program everything in CPCL mode since you are printing to legacy printers?