Aligning the Zebra Printer Driver and Printer Language with Your App

Zebra has designed a set of tools to help partners, developers and end users take advantage of the features that each Zebra printer has to offer. These tools are downloaded for free and commonly used during the integration process, or during daily tasks.


Tools, such as ZebraDesigner or Zebra Setup utilities (ZSU), do an automatic installation of the driver when the printer is connected to the computer and the printer is detected. When the driver is installed in the PC, the driver normally does a quick check of the printer and it determines the installation of the default driver based on the default control language of the printer. Depending on the type of printer, these languages can be defaulted to ZPL, CPCL, LINE_PRINT, EPL, etc.   


The purpose of this blog is to let our audience know how important it is to match the languages in the app with the driver and the printer.


When a user connects the ZQ510/520 printer to the computer, ZebraDesigner or ZSU will install the driver of this printer to work with CPCL, which also supports the LINE_PRINT mode.  This scenario determines that when a user is working with ZebraDesigner, the tool will generate labels based on CPCL. In addition, if a user needs to download a font, the tool will work in CPCL. Fonts downloaded in CPCL have extensions in CPF.


If, for example, a user needs to print in ZPL and the driver is in CPCL, the driver will not recognize the fonts. The same situation occurs if a user wants to download CPCL fonts with a ZPL driver; the fonts will be not recognized. ZPL fonts usually have extensions in TTF.


In graphics 1 and 2, the screenshots depict how a user can select the print control language of the driver for a printer like ZQ510 (CPCL) or ZQ510 (ZPL).


It is important to highlight here that the Zebra Link-OS SDK does not allow doing the same selection mentioned above. When an instance of communication with the printer is initiated, it will be capturing the default language of the printer. In the case of the ZQ510, it should always be defaulted to LINE_PRINT.  If a developer is sending commands in ZPL, the commands will not be executed by the printer. To avoid this type of confusion, we recommend that our developers to set up the language to ZPL or LINE_PRINT before sending print jobs in order to assure the correct functionality of the printer. Developers can make this type of configuration by using SGD commands.


The new Zebra mobile printers (except ZQ110) allow two language configuration options. These options, explained below, can be set up through a direct SGD command or the SDK’s libraries methods.


hybrid_xml_zpl: When the printer is configured with this option, it supports both types of control printing language CPCL and ZPL.


LINE_PRINT: When the printer is configured with this option, it supports only LINE_PRINT and CPCL.


ZPL – Printing Language set up:


! U1 setvar "device.languages" "zpl"


Same command in Android:


SGD.SET("device.languages", "zpl", connection);


SGD.SET("device.languages", "hybrid_xml_zpl", connection);


In Legacy printers like RW420 – ZPL is in uppercase.


! U1 setvar "device.languages" "ZPL"


Same command in Android:


SGD.SET("device.languages", "ZPL", connection);


CPCL  - Printing language set up:


In Legacy printers like RW420 – CPCL is in uppercase.


! U1 setvar "device.languages" "CPCL"


Same Command in Android:


SGD.SET("device.languages", "CPCL", connection);


Line_print – Printing language set up:


! U1 setvar "device.languages" "line_print"


Same Command in Android:


SGD.SET("device.languages", "line_print", connection);



Graphic 1.


Graphic 2.


Note 1: Use of TrueType or other non-Zebra purchased fonts require licensing and it is the responsibility of the user to acquire permission for use in the printer.


Note 2: The ZT/ZD/ZQ printers do not support .FNT font files. Use the Zebra Setup Utilities or ZebraNet Bridge to convert and upload the proper fonts (TTF) to the printer.


We recommend the Zebra Setup Utility as an option for converting and downloading Fonts.


Download the Zebra Setup Utility. Read More>>


Converting a font using the Zebra Setup Utility Read More>>



Leo Lowy

one note - "hybrid_xml_zp" mode also allows the to support the XML printing feature. More details at XML-Enabled Printing