Designing a label with Zebra Designer Pro for Export to a 
Zebra Printer then recall and print with a KDU Plus

The Keyboard Display Unit Plus is a small keyboard device that can be connected to the serial port of an Eltron Printer Language (EPL) and Zebra Printer Language (ZPL) based printer.  It can be used to recall a label format that has been stored in the printer, enter some data elements and print the label on the printer.

ZebraDesigner and ZebraDesigner Pro can be used as a convenient way to design the label and store it on the printer for later recall by the KDU Plus.

If you are new to ZebraDesigner software and need instructions for creating a label

Click here for detailed information

For step by step instructions on creating a label with a keyboard input text field

Click here for detailed information

There are some restrictions on the labels that are used in this fashion:


·         The label cannot use any data from a connected database.  The label is stored and printed exclusively by the printer.  The ZebraDesigner or ZebraDesigner Pro application is not running and therefore cannot retrieve data from a database.

·         The label cannot contain any ZebraDesigner Pro formula values.  Again, since ZebraDesigner software is not involved in printing the label, these formulas cannot be calculated.

·         All barcodes and fonts for variable fields must use internal fonts.  Windows does not run on the printer and cannot supply the true type or bit mapped fonts for the data that is entered by the KDU Plus or obtained from the printer in other ways.  However you can use the font downloader to download any additional fonts that may be required by the label. These could then be used since they are now "internal" to the printer.

·         Any time, date or counter variables must be designed to be determined by the printer.  Date and time therefore is only available if the printer has its own real time clock on the main logic board.  A font internal to the printer must be selected so that the option to “Use the printer’s internal clock” becomes available and can be checked.  The error message "Terminal supports only prompted variables!"

·         Linked fields are not a supported feature for EPL and ZPL formats exported for the KDU Plus.

Label Design:

The label is designed like any other label in ZebraDesigner Pro.   Establish the printer and media size and type.  Place the text, graphics and barcodes on the label.  Data that is to be entered on the KDU Plus should be described as "Keyboard Variables".  

You can do some test prints from ZebraDesigner to test the format and see that it is going to look the way you want when printed, but you will need to enter the Keyboard Variables from your computer instead of the KDU Plus for this testing.

Downloading the Label to the Printer:

Once the label looks the way you want it.  You may download the label by selecting the "Export to printer" command from the "File" menu.  This will cause the application to generate the EPL or ZPL necessary to store the label for recall by the KDU Plus.  It will be stored in the printer with the same name as the label format file, but without the .lbl filename extension.  That is, if the label format is saved as test1.lbl, the name of the format in the printer will be test1.

File names must be limited to 8 characters.  Any file name greater than 8 characters is truncated to 8 characters when exported to the printer.  Example:  If you create 3 different label formats KDUPLUSZ1.lbl , KDUPLUSZ2.lbl, and KDUPLUSZ3.lbl then export them in order only the KDUPLUSZ with the contests of the 3rd label will be available as a name to enter and print.  The first 2 formats are overwritten.


 When selecting Export to Printer with a ZPL printer the following options are listed as available.

Compact Flash


Flash Card (PCMCIA)

Internal Flash


(Not all ZPL printers support these options.  Consult your printer’s manual to confirm which are supported by your printer.   DRAM is volatile memory which clears any time the printer is powered off.)

Printing the Label with the KDU Plus:

Assuming that the KDU Plus is correctly plugged into the serial port of the printer, press the "FORM" key and enter the name of the stored format in the printer.  Then press "ENTER".  In the case described above, this would be test1 (the name is case sensitive). 

You will then be prompted to enter any of the Keyboard Variables that are defined in the label.   If your format was exported to a ZPL printer check that you are running the v1.3.08 or higher version of the ZebraDesigner driver.  The v1.3.08 version is now built in to the 1.0.2(Build 553.4) version of the ZebraDesigner software.  The newer build of ZebraDesigner software and the newer drivers are available for download from  With the new driver version the Keyboard Variable prompts will match the prompts entered within ZebraDesigner software and the KDU Plus when used with ZPL printers will prompt for the number of identical labels to print.  SEE NOTE BELOW WITH DESCRIPTION OF A KNOWN ISSUE AND WORKAROUND FOR PRINTING WITH INCREMENTING SERIAL NUMBERS

With the previous builds of ZebraDesigner software and older drivers the Keyboard Variables prompts will not match the prompts entered within Zebra Designer Pro.  Instead the prompt will be in descending order based on the number of Keyboard Variables.  For example, if 3 Keyboard Variables were entered the prompts will be as follows:

FN0003? …

FN0002? ...


Enter the values on the KDU Plus and press "ENTER" after each one.   If the format is stored on an EPL printer the KDU Plus will prompt for the “Number of label sets” allowing you to enter the number of identical labels you wish to print.  Enter that number and again press "ENTER".  The labels should then print as requested.  KDU Plus when used with ZPL printers will not prompt for the number of identical labels to print.  They will however, retain the entries for each prompt.  Press “ENTER” at each prompt to print additional labels.

When you are done, press "Exit" or “Esc” to end processing.

Technical Note:

When the label is printed from ZebraDesigner Pro, the application will prompt you for the data and send the label and data all at once to the printer. 

When the label is stored in an EPL printer using the "Export to printer" feature, the keyboard variables are defined as "Vnn" data elements.  These are what drive the KDU Plus to prompt for them.

If you were to send the EPL directly to the printer to recall and print the stored label, it would follow the standard EPL convention for this as follows:


Retrieve the form 'test1'



Variable data follows...



Variable data - one line for each field required


Print quantity


Blank line to end with an additional CR


When the label is stored in a ZPL printer using the "Export to printer" feature, the keyboard variables are defined as "FNnnn" data elements.  These are what drive the KDU Plus to prompt for them.

If you were to send the ZPL directly to the printer to recall and print the stored label, it would follow the standard ZPL convention for this as follows:


Retrieve the form 'test1' (where d: is the source device of the stored format)



Variable data follows...



Variable data - one line for each field required


Print quantity




This was tested with the 1.3.08, 1.4.52, 1.5.10 drivers running the last ZebraDesigner Pro Version 1 Build 553.4 and with ZebraDesigner Version 2.  All with the same results.  Product Management has not considered this to be a supported feature.


The only way to make this work is to set the Port for the ZebraDesigner driver to File. Next, open the file created and manually alter the exported code. Afterwards, re-send the corrected code to the ZPL printer. Depending on the connection to the printer this could be a DOS copy or FTP.


For example, replace ZD Pro generated code:


^FN5^SFdddd,1"Text3"^FS (In this example there were 4 question prompts then the Serial number incorrectly created with an FN5. Look for the ^SF Serialization Field command)






In order to correct the code,

Replace ^FN5 with ^FD# (In the above example 1 is the starting value of the serial number)

Remove "Text3" but make sure ^FS remains


We have tested and printed an incrementing serial number with this corrected ZPL