Zebra Virtual Device-M Virtual Device User Guide-M (EN)

Virtual Device-M
User Guide
P1072179-003
© 2018 ZIH Corp. All rights reserved. ZEBRA and the stylized Zebra head are trademarks of ZIH Corp.,
registered in many jurisdictions worldwide. All other trademarks are the property of their respective owners.
Information in this document is subject to change without notice.
For further information regarding legal and proprietary statements, please go to:
Terms of Use Proprietary Statement
and its subsidiaries (“Zebra Technologies”). It is intended solely for the information and use of parties operating and maintaining the equipment described herein. Such proprietary information may not be used, reproduced, or disclosed to any other parties for any other purpose without the express, written permission of Zebra Technologies.
This manual contains proprietary information of Zebra Technologies Corporation
Product Improvements Continuous improvement of products is a policy of Zebra Technologies. All
specifications and designs are subject to change without notice.
Liability Disclaimer Zebra Technologies takes steps to ensure that its published Engineering
specifications and manuals are correct; however, errors do occur. Zebra Technologies reserves the right to correct any such errors and disclaims liability resulting therefrom.
Limitation of Liability In no event shall Zebra Technologies or anyone else involved in the creation,
production, or delivery of the accompanying product (ifgfgncluding hardware and software) be liable for any damages whatsoever (including, without limitation, consequential damages including loss of business profits, business interruption, or loss of business information) arising out of the use of, the results of use of, or inability to use such product, even if Zebra Technologies has been advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you.
Part Number: P1072179-003 Rev. A

Contents

2 • Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1 • Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Virtual Device-M Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Supported Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Configuring Network Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 • Install, Register, and Enable Virtual Device-M . . . . . . . . . . . . . . . . . . . . . . . 10
Acquiring the Virtual Device Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Downloading the Virtual Device-M Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Adding Printers to the ZDownloader List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Modifying Printers in the List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Deleting Printers from the List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Downloading the Virtual Device App to Selected Printers . . . . . . . . . . . . . . . . . . . . . 20
Canceling a Download in Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Registering the Virtual Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
ZDownloader Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Enabling the Virtual Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Using an SGD Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Using the User Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 • Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Command Packet Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table of Supported Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
08/28/2018 Virtual Device-M User Guide P1072179-003
4
Contents
Printer Configuration Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
{I,A, ... |} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
{I,B, ... | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
{I,C ... | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
{I,D, ... | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
{I,E, ... | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
{I,F, ... | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
{I,G, ... | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
{header,packet#,C, device | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
{W, ... | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Field Definition Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
{F, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
T, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
B, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
D, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
C, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
L, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Q, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Commands for Defining Field Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
R,1, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
R,4, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
R,6, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
R,30, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
R,31, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
R,42, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
R,50, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
R,51, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
R,52, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
R,53, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
R,60, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
R,61, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
R,62, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
{A ... | } . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Commands for Creating Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
{G, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
B, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
N, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
D, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
G, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
P1072179-003 Virtual Device-M User Guide 08/28/2018
Contents
Printing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
{B, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
E, ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
field#, ... | ... | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Status Polling Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
ENQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
{J,#} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Set/Get/Do (SGD) Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
apl.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
apl.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
apl.framework_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5 • Supported Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6 • ZDownloader Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Downloading the ZDownloader Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Installing the ZDownloader Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5
1 • Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
08/28/2018 Virtual Device-M User Guide P1072179-003

Introduction

This section describes the features and functions of a Zebra printer that is running the Virtual Device-M application.
Contents
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Virtual Device-M Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Virtual Device-M Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Configuring Network Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
08/28/2018 Virtual Device-M User Guide P1072179-003

Overview

Introduction
Overview
7
The Virtual Device-M application enables Zebra Link-OS printers to work with many host systems that are using Monarch required to the host application. This feature can help customers to make a smooth transition to Zebra printers and save them the time and expense of having to rewrite their host software.

Virtual Device-M Features

The Virtual Device-M application:
• Uses existing features of Zebra printers, when available.
• Offers fonts similar to the original device. These fonts will use 120 KB or more of memory space.
• Supports the Bluetooth
• Offers many outline fonts, barcodes, and specific commands and features of target printer models (see Supported Fonts on page 72).
• Provides support of Monarch commands (see Commands on page 35).
®
printers. In most cases, no changes will be
®
, Serial, Ethernet, WLAN, and USB interfaces.
08/28/2018 Virtual Device-M User Guide P1072179-003
Introduction
8

Supported Printers

Supported Printers
This manual describes the Virtual Device-M language for Zebra Link-OS printers and should be used by any person who needs to support that language on one of the following Zebra printers:
Printer Firmware
iMZ Series V73.19.6Z and later
QLn Series V68.19.6Z and later
ZT200 Series V72.19.6Z and later
ZT400 Series V75.19.7Z and later
ZT510 V80.20.02Z and later
ZT600 Series V80.20.02Z and later
ZD400 Series V77.19.14Z or V84.20.05Z and later
ZD500 Series V74.19.6Z and later
ZD600 Series V84.20.05Z and later
ZQ300 Series V81.20.06Z and later
ZQ500 Series V76.19.10Z and later
Note • The Virtual Device-M language is supported only on 203 dpi printers.
For complete printer operation, use this manual in combination with the User Guide for your printer.

Configuring Network Connectivity

Your printer may be equipped with one or more of the following interfaces:
• Bluetooth—For detailed information to connect a Bluetooth device, refer to the Bluetooth User Guide.
• Wired print server—For detailed information, refer to the ZebraNet Wired and Wireless Print Servers User Guide.
• Wireless print server—For detailed information, refer to the ZebraNet Wired and Wireless Print Servers User Guide.
For other connectivity options, refer to the User Guide for your printer. Copies of these manuals are available at http://www.zebra.com/manuals.
P1072179-003 Virtual Device-M User Guide 08/28/2018

Notes

Introduction
Notes
• Other command languages are disabled when running Virtual Device-M. However, Set/Get/Do (SGD) commands and file download all operate properly with Virtual Device-M enabled.
• Virtual Device-M fonts can only be used with Virtual Device-M commands. They cannot be used with other languages.
• The Virtual Device-M mode application will not respond to CPCL, ZPL, or EPL commands. Instead, commands will be processed by the Virtual Device-M application.
9
08/28/2018 Virtual Device-M User Guide P1072179-003
Install, Register, and
Enable Virtual Device-M
This section provides you with instructions on how to install and enable the Virtual Device-M application on one or more Zebra printers.
Contents
Acquiring the Virtual Device Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Downloading the Virtual Device-M Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Using ZDownloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Adding Printers to the ZDownloader List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Auto-Detect Printers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Manually Add Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Modifying Printers in the List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Deleting Printers from the List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Downloading the Virtual Device App to Selected Printers . . . . . . . . . . . . . . . . . . . . 20
Registering the Virtual Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Enabling the Virtual Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Using an SGD Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Using the User Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
QLn420 Printers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
QLn320 and QLn220 Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Supported ZTxxx And ZDxxx Printers With A Display . . . . . . . . . . . . . . . . . . . . . . . 31
08/28/2018 Virtual Device-M User Guide P1072179-003

Acquiring the Virtual Device Application

To get the Virtual Device app, perform the following from your computer:
1. Open a web browser and navigate to http://www.zebra.com/virtualdevices.
2. Locate your printer type in the list of printers, and then click Download Now.
3. Fill out the information on the Virtual Device Download Request form.
4. Click Submit.
5. Read the End User License Agreement.
6. Click Accept and Begin Download Now.
Your browser prompts you to open or save the archive containing the Virtual Device app.
7. Save and store the Virtual Device app archive file to your computer.
The archive file contains the following:
Getting Started
Acquiring the Virtual Device Application
11
The Virtual Device .NRD file to be downloaded to a Zebra printer.
•A .txt file that contains the SGD command for immediately activating the Virtual Device app.
8. Extract the files from the archive to your computer.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
12

Downloading the Virtual Device-M Application

Downloading the Virtual Device-M Application
Zebra provides two options to download the Virtual Device-M app to the printer.
• On a computer with the ZDownloader Utility
The ZDownloader Utility is the only method shown in this manual. For instructions on how to download and install the ZDownloader Utility, see ZDownloader Utility
on page 76.
• On an Android device with the Zebra Printer Setup Utility for Android Devices (available for free on Google Play™)
For information on using the Zebra Printer Setup Utility for Android Devices and to download the user guide, navigate to http://www.zebra.com/setup.
Using ZDownloader
The ZDownloader application can update Virtual Device-M files in Zebra printers connected by Serial, Parallel, USB, and IP Ethernet networks.
Figure 1 • Initial ZDownloader Screen

Adding Printers to the ZDownloader List

There are two ways to add printers to the list:
• Auto-Detect (use for USB or IP Ethernet interfaces)
• Manual add (use for Serial, Parallel, or IP Ethernet interfaces)
If your printer is connecting via the serial or parallel interfaces, or is not detected by using the Auto-Detect method, use the Manual Add method.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Auto-Detect Printers
Use Auto-Detect for USB or IP Ethernet interfaces.
Note • Ethernet connected printers are detected by the application broadcasting a UDP packet out onto the network. UDP port number 4201 is used for the discovery process. Some networks filter out UDP packets. This means that the ZDownloader utility may not be able to detect all of the printers on your network. See your network administrator for more information. If you are not able to Auto­Detect your network printers, follow instructions for manually adding a printer.
USB printers can only be added by using Auto-Detect. The ZDownloader utility can support as many USB printers as your computer can support (most computers typically can support up to 255).
Getting Started
Downloading the Virtual Device-M Application
13
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
14
Downloading the Virtual Device-M Application
To Auto-Detect printers connected via the USB or IP Ethernet interfaces, perform the following steps:
1. In the ZDownloader toolbar, select Printer > Auto-Detect.
OR
Right-click in the ZDownloader window and select Auto-Detect Printers.
The printers detected are added to the printer list.
Manually Add Printers
To manually add printers connected via the Serial, Parallel, or Network interfaces, perform the following steps:
1. In the ZDownloader toolbar, select Printer > Add….
OR
Right-click in the ZDownloader window and select Add Printer….
The following window appears.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Downloading the Virtual Device-M Application
2. Add a printer name and your printer model in the appropriate fields.
3. What type of printer are you adding?
If you are adding a… Then…
Serial Printer Go to Adding a Serial Printer.
Parallel Printer Go to Adding a Parallel Printer on page 17.
Network Printer Go to Adding a Network Printer on page 18.
Adding a Serial Printer
4. Select the serial port to which the printer is connected.
Getting Started
15
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
16
Downloading the Virtual Device-M Application
5. Click Port Settings.
The following window appears.
6. Adjust the settings as necessary. The printer’s serial port settings must match the
computer’s serial port settings. For more information about the settings, refer to the User Guide for your printer.
7. Click OK to save the port settings.
8. Click OK to add the printer.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Adding a Parallel Printer
9. Set Communication Type to Parallel.
The available parallel ports will be shown in the Port drop-down box.
Getting Started
Downloading the Virtual Device-M Application
17
10. Select the port to which the printer is connected. No additional configuration is
necessary.
11. Click OK to add the printer.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
18
Downloading the Virtual Device-M Application
Adding a Network Printer
12. Set Communication Type to Network.
The following window appears.
13. Enter the printer’s IP address.
14. Click OK to save the network settings.
15. Click OK to add the printer.

Modifying Printers in the List

To change printer settings for a printer in the list, perform the following steps:
1. Select the printer to modify.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Downloading the Virtual Device-M Application
2. In the toolbar, select Printer > Modify Printer….
OR
Right-click on the printer and select Modify Printer….
The printer settings for the selected printer are displayed.
Getting Started
19
3. Modify the settings as desired.
4. Click OK to save the settings.

Deleting Printers from the List

To delete printers from the list, perform the following steps:
1. Select one or more printers to delete.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
20
Downloading the Virtual Device-M Application
2. In the toolbar, select Printer > Delete.
OR
Right-click on one of the selected printers and select Delete Printer(s).
The printer is removed from the list.

Downloading the Virtual Device App to Selected Printers

To download the Virtual Device-M app to your printer(s), you must select the file to send to each printer. ZDownloader, by default, downloads files to one printer at a time. If you have multiple printers to update and want to speed up the process, you can increase the number of simultaneous downloads.
Note • More simultaneous downloads require more of your computer resources. Some computers may slow down with simultaneous downloads or as more printers are added for simultaneous downloading.
To allow simultaneous downloads, perform the following step:
1. Click Tools > Options….
The following prompt appears.
2. Raise the number shown to allow multiple simultaneous downloads.
3. Click OK.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Getting Started
Downloading the Virtual Device-M Application
To download the Virtual Device app file to one or more printers, perform the following steps:
1. Select the printers to which you want to download the Virtual Device-M app file. To
select multiple printers, hold down the Ctrl or Shift key, and then click on the desired printers.
21
2. In the toolbar, select File > Select Firmware File….
OR
Right-click on one of the selected printers and select Select Firmware File….
3. Navigate to the Virtual Device app file that you acquired previously.
4. Click Open.
The file that you selected appears under Download File for the selected printers.
Printers that are present in the list but that do not have a file selected will be ignored when Downloading starts.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
22
Downloading the Virtual Device-M Application
5. Start the download process by doing one of the following:
Select Printer > Download to Selected.
Select the printer(s) of interest and select the Printer and then select
Download To Selected.
6. In the toolbar, select Printer > Download All.
OR
Right-click in the ZDownloader window and select Download All.
After downloading has begun, the progress of each printer will be shown in the Download Status column.

Canceling a Download in Progress

The Cancel Download toolbar button and the Printer > Cancel Download menu options become active when the files are downloading.
To cancel downloading to ALL printers in the list, perform the following step:
1. Click Printer > Cancel Download.
OR
Right-click in the ZDownloader window and select Cancel Download.
To cancel downloading to SPECIFIC printers in the list, perform the following step:
1. Select one or more printers with a download in progress.
2. Click Printer > Cancel Download.
OR
Right-click on a selected printer and select Cancel Download.
P1072179-003 Virtual Device-M User Guide 08/28/2018

Registering the Virtual Device

ZDownloader maintains a log file of all items downloaded to a Zebra printer along with the printer serial number. You can register your Virtual Device installation with Zebra Repair and Tech Support to ensure that a printer sent in for repair is returned with the Virtual Device installed, and when engaging Zebra Tech Support, they will have records of the item being loaded. To register your Virtual Device installation, you must send the log file created by ZDownloader to the Zebra log file management group.

ZDownloader Log File

To send the log file, complete these steps:
1. Based on your operating system, navigate to the appropriate folder:
•Microsoft® Windows® XP
C:\Program Files\Common Files\FirmwareDownloader
Microsoft Windows 7, Windows 8, and Windows 10
C:\ProgramData\Zebra Technologies\Firmware Downloader and ZBI Key Manager
Getting Started
Registering the Virtual Device
23
2. Copy the log file (DownloadLog.txt), and email to Zdownloader@zebra.com.
If you are downloading from several computers, you need to send the log file from each computer. If you download files to printers on one day and do not send the file the same day, please note this in your email so that the log file management group picks up the previous load detail. Otherwise, they only pick up the load data for the day that the log file is sent.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
24

Enabling the Virtual Device

Enabling the Virtual Device
You can enable Virtual Device-M by sending a Set/Get/Do (SGD) command to the printer or by selecting the option through the printer’s menus.

Using an SGD Command

To enable Virtual Device-M on your printer, send the following command:
! U1 setvar "apl.enable" "apl-m"
To disable Virtual Devices on your printer and return to normal function, send the following command:
! U1 setvar "apl.enable" "none"
You must restart the printer after changing the value of apl.enable. For more information about this SGD command, see apl.enable on page 70.

Using the User Menus

This section includes instructions for the following printers:
QLn420 Printers on page 25
QLn320 and QLn220 Printers on page 28
Supported ZTxxx And ZDxxx Printers With A Display on page 31
If necessary, refer to the User Guide for your printer for additional information about your printer’s control panel.
P1072179-003 Virtual Device-M User Guide 08/28/2018
QLn420 Printers
PRINTER READY
VXXXXXXX
SETTINGS
LANGUAGE
1. From the printer’s idle display screen, press the LEFT SOFT KEY to select the
Menu option.
Getting Started
Enabling the Virtual Device
25
The printer displays the Home Menu.
2. Use the ARROWS to navigate to the LANGUAGE menu.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
LANGUAGE
ENGLISH
VIRTUAL DEVICE
NONE
26
Enabling the Virtual Device
3. Press OK.
The printer displays the LANGUAGE selection screen.
4. Use the LEFT or RIGHT ARROW to navigate to the VIRTUAL DEVICE selection
screen.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Enabling the Virtual Device
VIRTUAL DEVICE
APL-M
USE
5. Use the UP or DOWN ARROW to scroll to the APL-M option.
6. Press the RIGHT SOFT KEY to select USE.
Getting Started
27
The printer restarts and uses the Virtual Device that you selected.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
Zebra QLn320 FW ver: XXXXXXXXXX Baud Rate: 115200 Battery ok IP Addr: 10.14.205.138
Menu
Communication Back
Settings Back
28
Enabling the Virtual Device
QLn320 and QLn220 Printers
1. From the printer’s idle display screen, press the LEFT SOFT KEY to select the
Menu option.
The printer displays the Home Menu.
2. Use the ARROWS to navigate to the SETTINGS menu.
P1072179-003 Virtual Device-M User Guide 08/28/2018
3. Press OK.
Virtual Dev: none ▲▼
Menu Use Back
Virtual Dev: aplm ?
Menu Use Back
The printer displays the VIRTUAL DEVICE selection screen.
Getting Started
Enabling the Virtual Device
29
4. Press the RIGHT ARROW to highlight the up arrow on the display.
5. With the up arrow highlighted, press the OK button until you scroll to the APL-M
option.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
30
Enabling the Virtual Device
6. Press the LEFT ARROW to highlight APL-M
7. Press OK to select USE.
The printer restarts and uses the Virtual Device that you selected.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Supported ZTxxx And ZDxxx Printers With A Display
PRINTER READY
VXXXXXXX
HOME MENU
SETTINGS
Note • The ZT230 control panel is shown in this procedure. The control panel for the
other printers is similar.
1. From the printer’s idle display screen, press the LEFT SOFT KEY to select the
Home icon.
Getting Started
Enabling the Virtual Device
31
The printer displays the Home Menu.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
HOME MENU
SETTINGS
LANGUAGE
ENGLISH
32
Enabling the Virtual Device
2. Use the ARROWS to navigate to the LANGUAGE menu.
3. Press OK.
The printer displays the LANGUAGE selection screen.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Getting Started
VIRTUAL DEVICE
NONE
VIRTUAL DEVICE
APL-M
USE
Enabling the Virtual Device
4. Use the LEFT or RIGHT ARROW to navigate to the VIRTUAL DEVICE selection
screen.
33
5. Use the UP or DOWN ARROW to scroll to the APL-M option.
08/28/2018 Virtual Device-M User Guide P1072179-003
Getting Started
VIRTUAL DEVICE
APL-M
USE
34
Enabling the Virtual Device
6. Press the RIGHT SOFT KEY or OK to select USE.
The printer restarts and uses the Virtual Device that you selected.
P1072179-003 Virtual Device-M User Guide 08/28/2018

Commands

This section provides a detailed listing of commands for use on your Zebra printer with the Virtual Device-M app.
Contents
Table of Supported Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Printer Configuration Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Field Definition Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Commands for Defining Field Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Commands for Creating Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Printing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Status Polling Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Set/Get/Do (SGD) Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
36

Command Packet Syntax

Command Packet Syntax
Use the following symbols when creating packets:
Character
{
Decimal
Value
Description
123 start of header
left bracket
}
125 end of header
right bracket
|
124 field separator*
vertical bar
,
044 parameter separator
comma
" " quotation marks
034 Use quotation marks to enclose character strings ("Abc").
Use empty quotes ("") to identify null strings or unused fields.
'abc' single quotation marks
039 Use single quotation marks (apostrophe or grave accent)
to enclose comments. Any data enclosed in these is ignored. Comments within a quoted string are not supported.

Table of Supported Commands

Command Function Supported
Printer Configuration Commands
{I,A, ... |} on page 39 Defining the System Setup Packet
{I,B, ... | } on page 39 Defining the Supply Setup Packet
{I,C ... | } on page 40 Defining the Print Control Packet
{I,D, ... | } on page 41 Defining the Monetary Formatting Packet
{I,E, ... | } on page 42 Defining the Control Characters Packet
{I,F, ... | } on page 44 Defining the Communication Settings Packet
{I,G, ... | } on page 45 Defining the Backfeed Control Packet
{I,M, ... | } Defining the Memory Configuration Packet
{header,packet#,C, device | }
Clearing Packets from Memory
on page 45
{W, ... | } on page 46 Using the Font Packet
{header,format#,action,device | } Uploading Format Header Information
{V, ... | } Defining a Verifier Configuration Packet
{N, ... | C ... | } Defining a Network Console Packet
P1072179-003 Virtual Device-M User Guide 08/28/2018
Commands
Table of Supported Commands
37
Command Function
Supported
{I,X, ... | } Defining the RFID Setup Packet for UHF
Field Definition Commands
{F, ... | on page 47 Defining the Format Header
T, ... | on page 47 Defining Text Fields
B, ... | on page 49 Defining Barcode Fields
D, ... | on page 53 Defining Non-Printable Text Fields
C, ... | on page 53 Defining Constant Text Fields
L, ... | on page 55 Defining Line Fields
Q, ... | on page 55 Defining Box Fields
V, ... | Defining Verifier Fields
X, ... | Defining the RFID Data Field
Commands for Defining Field Options
R,1, ... | on page 57 Option 1: Fixed Data
R,2, ... | Option 2: Data Type Restrictions
R,3, ... | Option 3: Data Entry Templates
R,4, ... | on page 57 Option 4: Copy Data
R,5, ... | Option 6: Upload Field Data
R,6, ... | on page 58 Option 6: Upload Field Data
R,20, ... | Option 20: Define Data Entry Prompts
R,21, ... | Option 21: Define Extended Field Names
R,30, ... | on page 58 Option 30: Pad Data
R,31, ... | on page 58 Option 31: Calculate Check Digit
R,42, ... | on page 59 Option 42: Price Field
R,50, ... | on page 59 Option 50: Barcode Density
R,51, ... | on page 60 Option 51: PDF417 Security/Truncation
R,52, ... | on page 60 Option 52: PDF417 Width/Length
R,53, ... | on page 60 Option 53: Optional Settings for Aztec
R,60, ... | on page 61 Option 60: Incrementing/Decrementing
Fields
R,61, ... | on page 62 Option 61: Reimage Field
R,62, ... | on page 62 Option 62: Bypass Barcode
R,64, ... | Option 64: Program AFI Field for UHF RFID
{A ... | } on page 62 Using Check Digits
Commands for Creating Graphics
{G, ... | on page 64 Defining a Graphic Header
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
38
Table of Supported Commands
Command Function
B, ... | on page 64 Creating Bitmap Fields
N, ... | on page 65 Creating Next-Bitmap Fields
D, ... | on page 65 Creating Duplicate Fields
G, ... | on page 66 Defining the Graphic Field
Printing Commands
{B, ... | on page 67 Defining the Batch Header
E, ... | on page 67 Defining the Batch Control Field
field#, ... | ... | on page 68 Defining Batch Data Fields
Status Polling Commands
ENQ on page 69 Inquiry Request (ENQ)
{J,#} on page 69 Job Request
Supported
P1072179-003 Virtual Device-M User Guide 08/28/2018

Printer Configuration Commands

{I,A, ... |}

Description Defining the System Setup Packet
Syntax
{I,A,powerup_mode,language,sep_on,slash_zero,symbol_set | }
Range
A = system setup packet
powerup_mode = online mode
0 = online mode (default) 1 = offline mode
language = display language
0 = English (default) 1 =French 2 =German 3 = Spanish 4 = Japanese 5 = Portuguese 6 = Italian 7 = Swedish 8 = Spanish2 9 =Danish 10 =Dutch 11 = Finnish 12 = Norwegian
sep_on = batch separators (Do not use batch separators with continuous media.)
0 = no separator (default) 1 = print a separator 2 = print a double-length separator (two tags)
slash_zero = slash zero
0 = print a standard zero (0) (default) 1 = print a zero with a slash through it (0)
symbol_set = symbol set
1 =ANSI 2 = Code Page 437 (Latin U.S.) 3 = Code Page 850 (Latin 1)
Commands
Printer Configuration Commands
39
Notes Use this command to select the power-up mode and display language, to print
separators between batches, to select how the number zero prints, and to select the symbol set.

{I,B, ... | }

Description Defining the Supply Setup Packet
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
40
Printer Configuration Commands
Syntax {I,B,supply_type,ribbon_on,feed_mode,supply_posn,
Range
B = supply setup packet
supply_type = supply type
ribbon_on = ribbon
feed_mode = feed mode
supply_posn = supply position
cut_posn = Not supported. skip_index = skip index mode
cut_posn,skip_index | }
0 = black mark supply 1 = die cut or edge aperture supply (default) 2 = continuous media 3 = Reserved 4 = Reserved 5 = Reserved
0 = direct thermal mode (no ribbon) 1 = thermal transfer mode (ribbon is used) (default) 2 = high energy ribbon installed
0 = continuous operation (default) 1 = on-demand mode
–300 to 300
0 = disable skip index mode (default) 1 = enable skip mode. Allows the printer to print an image over multiple labels.

{I,C ... | }

Description Defining the Print Control Packet
Syntax
{I,C,contrast,print_adj,margin_adjust,speed_adj,ph_width |
}
Range
C = print control packet
contrast = print contrast
–699 to 699. 0 is the default.
print_adj = vertical print position adjustment. A positive number moves the print up on the
label, while a negative number moves the print down.
–450 to 450. 0 is the default.
margin_adj = horizontal print position adjustment. A positive number moves the print to the
right, while a negative number moves the print to the left.
–99 to 99. 0 is the default.
speed_adj = specify a print speed in inches per second (ips). Check the specifications for
your printer to verify the print speeds that your printer supports.
0 = default 25 = 2.5 ips 40 = 4.0 ips
P1072179-003 Virtual Device-M User Guide 08/28/2018

{I,D, ... | }

Commands
Printer Configuration Commands
60 = 6.0 ips 80 = 8.0 ips 100 = 10.0 ips 120 = 12.0 ips
ph_width = the width of the printhead in dots. Use 0.
Notes Use this command to set the print contrast, print position, and print speed.
Description Defining the Monetary Formatting Packet
41
Syntax
{I,D,cur_sym,secondary,decimals | }
Range
D = monetary formatting packet
cur_sym = currency symbol
0 = No symbol 1 = USA ($, Dollar- default) 2 = UK (£, Pound) 3 = Japan (¥, Yen) 4 = Germany (Deutsche Mark) 5 =France ( 6 =Spain ( 7 =Italy (
, Franc)
, Peseta)
, Lira)
8 = Sweden (kr, Krona) 9 = Finland (Markka) 10 = Austria (Schilling) 11 = India (
?, Rupee)
12 = Russian (Ruble) 13 = Korean ( 14 = Thai (
?, Won)
?, Baht)
15 = Chinese (¥, Yuan) 16 = Euro (
)
Note: To use these symbols, select the internal symbol set.
secondary = Secondary sign. Secondary symbols print only if you designate at least one
decimal place.
0 = no secondary sign (default) 1 = print a secondary sign
decimals = the number of digits to the right of the decimal.
0 = none 1 = one digit 2 = two digits (default) 3 = three digits
Notes Use this command to select the currency symbol to print with a price field and to specify the number of digits after a decimal.
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
42
Printer Configuration Commands

{I,E, ... | }

Description Defining the Control Characters Packet
Syntax
Range
E = control characters packet
"ANSI_cd" = This parameter includes seven parts. The last two are optional.
"string 1" = terminator for status requests and ENQ requests.
"string 2" = terminator for job requests and data uploads.
{I,E,"ANSI_cd","string1","string2" | }
(Note the quotation marks required for several parameters.)
~123 = start of header { (left bracket) ~044 = parameter separator , (comma) ~034 = quoted strings " (quotes) ~124 = field separator | (vertical bar) ~125 = end of header } (right bracket) ~126 = data escape ~~ (double tilde) character (optional)
def. ch. = immediate command character (optional). The character must be
defined before this command can be used.
Up to three characters from 0 to 255. The caret (~094) is usually used.
Up to three characters from 0 to 255. The default is "013".
"" disables this sequence.
Up to three characters from 0 to 255. The default is none.
"" disables this sequence.
Notes Use this command to change the MPCLII control characters, enable or disable immediate commands, and change the default terminator character. After the parameters are changed, all packets, including any future configuration packets, must use the new control characters.
Resetting Control Characters
You can change the characters in the previous example back to their original settings by downloading this packet:
{I?E?"~123~044~034~124~125~126~094" | }
where ? is the parameter separator set previously. Check your printer’s configuration label for the printer’s settings.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Commands
Printer Configuration Commands
Immediate Commands
Immediate commands can be sent in a packet or embedded in your application. You must send each command separately, or errors can result. The commands in the table assume that the defined immediate command control character is ^.
Table 1 • Immediate Commands
^CA Cancel all batches in the printer’s print queue (but not the receive buffer) unless an
error condition exists.
^CB Cancel the batch being printed unless an error condition exists.
^DD or ^DCd Disable the MPCL data escape character (~) and inhibit MPCL from acting on any
data escape sequence from the host. ^DCd sets the MPCL data escape character to the ASCII character specified by d.
^EA Clear a printer error message. May need to be sent multiple times.
^ER Reset a printer error message, allowing normal operation to resume.
43
^FD Feed a label when printer is idle. Same function as pressing the printer’s
FEED
button.
^FF1 Format Flash memory
^FF2 Return the number of bytes of available Flash memory.
^GD Disable the conversion of formats designed in 203 dpi dot units to 300 dpi.
^GE Enable the conversion of formats designed in 203 dpi dot units (not English or
Metric) to 300 dpi.
^ID or ^ICd Disable the Immediate Command feature. ^ICd sets the Immediate Command
escape character to the ASCII character specified by d.
^IE Enable the Immediate Command feature.
^MC Return the customer ID or RPQ version to the host. (00 to 99)
^MD Return the printhead dot density to the host. 00 = 203 dpi 01 = 300 dpi
^MI Return the customer ID or RPQ revision level to the host. (00 to 99)
^MM Return the model number to the host.
^MP Return the prototype number to the host. (00 to 99)
^MR Return the revision number to the host. (00 to 99)
^MV Return the version number to the host. (00 to 99)
^PR Reset the printer.
^RB Repeat the last printed batch, printing the same number of labels as specified in the
original batch. This command does not work if using batch separators.
^RS Resynchronize supply when media roll is changed. The printer ignores this
command if printing.
^SD or ^SCd Disable the status polling feature by turning off the status polling control character.
^SCd sets the status polling control character to the ASCII character specified by d.
^SFa *
^SFb *
^SFc *
08/28/2018 Virtual Device-M User Guide P1072179-003
Load script with host response.
Load script without host response.
Enable script.
Commands
44
Printer Configuration Commands
Table 1 • Immediate Commands
^SFd *
^SFe *
^SFf *
^SFg *
^SFh *
^SFi *
^SFj *
Disable script.
Upload script version information.
Delete script.
Turn on ENQ status polling before it reaches the script.
Turn off ENQ status polling before it reaches the script.
Turn on immediate commands before it reaches the script.
Turn off immediate commands before it reaches the script.
^TP Print a test label.
^VLC *
Clear data that was uploaded, not all logged data. With this command, data is cleared after a successful upload.
^VLD *
^VLE *
^VLU *
Disable verifier data logging.
Enable verifier data logging.
Upload the log file to the last port that received host data (serial, parallel, USB, or Ethernet). Repeat this command until data is successfully uploaded. Data can be cleared after it has been uploaded.
* Not supported.

{I,F, ... | }

Description Defining the Communication Settings Packet
Syntax
{I,F,baud,word_length,stop_bits,parity, flow_control | }
Important • Do not add any characters (such as a carriage return/line feed), in your communication settings packet, or communication errors may occur.
Range
F = communication settings packet
baud = baud rate
0 = 1200 1 = 2400 2 = 4800 3 = 9600 (default) 4 = 19200 5 = 38400 6 = 57600 7 = 115200
word_length = word length
0 = 7-bit word length 1 8-bit word length (default)
stop_bits = stop bits
0 = 1-stop bit (default) 1 = 2-stop bits
parity = parity
P1072179-003 Virtual Device-M User Guide 08/28/2018

{I,G, ... | }

Commands
Printer Configuration Commands
0 = none (default) 1 = odd parity 2 = even parity
flow_control = flow control
0 = none 1 = DTR (default) 2 =CTS 3 =XON/XOFF
Note: If you use the DOS COPY command to download your formats, set “Flow Control” to DTR (not XON/XOFF).
Notes Use this command to set the communication parameters, such as the baud rate, word length, stop bits, parity, and flow control for serial communications. Make sure that the values that you set on your printer match those of the host computer.
Description Defining the Backfeed Control Packet
45
Syntax
Range
G = backfeed control packet
action = backfeed action
dis_pos = dispense position (optional). Adjusts the stopping point of the label.
bkfd_dis = backfeed distance (optional). Amount to move label backwards. This distance
Notes Use this command to enable or disable the backfeed option and to set the dispense position and backfeed distance.
{I,G,action,dis_pos,bkfd_dis | }
0 = disable backfeed (default) 1 = enable backfeed
50 to 200 dots. Default is 65 dots.
cannot be greater than the dispense position.
10 to 200 dots. Default 65 dots.

{header,packet#,C, device | }

Description Clearing Packets from Memory
Syntax
{header,packet#,action,device | }
Range
header = identifies the packet
A = check digit scheme F =format G = graphic W = font
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
46
Printer Configuration Commands
packet# = identification number of the packet to clear (1 to 999) or font number (0 to
action = action. C clears the packet. device = storage device.

{W, ... | }

Description Using the Font Packet
9999).
0 is for all fonts.
F =Flash R = volatile RAM
Syntax
{W,font#,action,device,data_length,data_record | }
Range
W = Writable Font Header font# = the font identifier from 0 to 9999.
0 is for all fonts. Any other number is the font number.
action
A = add the specified font. C = clear all or specified fonts, except any in Flash memory. To remove those in
Flash memory, format the memory.
H = upload font size information. M = upload font memory usage information.
device
F = Flash memory R = volatile RAM Z = all devices (use for upload).
data_length (optional) = The length of the font data. If you are creating fonts, you need to
have font data included with this packet.
68 to 16384
data_record (optional) = Multiple data records define a font. The first character must be the
algorithm: H (hex) or R (run-length). The remainder of the record is up to 2710 characters of font data in double quotes. Separate the algorithm and the data with a comma (,), and end the record with |.
Notes Use this command to add fonts, clear downloaded fonts from memory, or upload other font information.
P1072179-003 Virtual Device-M User Guide 08/28/2018

Field Definition Commands

{F, ... |

Description Defining the Format Header
Commands
Field Definition Commands
47

T, ... |

Syntax
Range
F = format header.
format# = a unique number to identify the format.
action = enter A to add the format to the printer. device = the format storage device.
measure = unit of measure.
length = print length in selected unit of measure. width = print width, from left to right, in selected unit of measure. "name" = format name (optional). 0 to 16 characters, enclosed in quotation marks.
Notes A format header begins a format file.
{F,format#,action,device,measure,length,width,"name" |
1 to 999
F = Flash memory (must be formatted first) R = volatile RAM
E = English - in 1/100 inches M = metric - in 1/10 mm G = graphic - in dots
Description Defining Text Fields
Syntax
Range
T =text field
field# = a unique number to identify the field.
# of char = the maximum number of printed characters in the field.
fix/var = Fixed or variable length field.
row = For monospaced fonts, the distance from the bottom of the print area to the pivot point
column = the distance from the left edge of the print area to the pivot point. gap = the number of dots between characters.
08/28/2018 Virtual Device-M User Guide P1072179-003
T,field#,# of char,fix/var,row,column,gap,font,hgt_mag,
wid_mag,color,alignment,char_rot,field_rot,sym_set |
1 to 999 digits
0 to 2710 characters
F = fixed length V = variable length
(which varies based on how the text is justified). For proportionally spaced fonts, the distance from the bottom of the print area to the baseline of the characters in the field.
Commands
48
Field Definition Commands
0 to 99
font = the font style. Fonts 5 and 6 are for numeric data only.
1 Standard
2 Reduced
3 Bold
5 HR1
6 HR2
10 9-pt emulated bold typeface
11 6-pt emulated typeface
hgt_mag = a height magnifier, 1 to 7 times (4 to 255 points for scalable/downloaded
TrueType fonts).
wid_mag = a width magnifier, 1 to 7 times (4 to 255 points for scalable/downloaded
TrueType fonts).
color = text color
options for standard printer fonts:
B Opaque, Normal, Black, Normal D/R/W Opaque, Normal, White, Normal O Transparent, Normal, Black, Normal
options for scalable fonts:
A/N Opaque, Normal, Black, Bold B/O Opaque, Normal, Black, Normal E/S Opaque, Italics, Black, Bold F/T Opaque, Italics, Black, Normal
alignment = the alignment of text in the field. Use L, B, or E for any font.
L = left aligned C = centered (monospaced fonts only) R = right aligned (monospaced fonts only) B = aligned at midpoint of the field E = aligned at endpoint of the field
char_rot = character rotation.
0 = normal 1 = rotated 270 degrees 2 = rotated 180 degrees 3 = rotated 90 degrees
field_rot = field rotation. Rotation is affected by the pivot point (which varies based on
how the text is justified). The default is the lower-left corner of the field as the pivot point.
0 = normal 1 = rotated 270 degrees 2 = rotated 180 degrees 3 = rotated 90 degrees
sym_set = the symbol set.
0 = Internal symbol set 1 = ANSI symbol set
P1072179-003 Virtual Device-M User Guide 08/28/2018

B, ... |

Commands
Field Definition Commands
437 = DOS code page 437 (domestic) 850 = DOS code page 850 (international)
Notes Create a separate definition for each text field. If text falls on two lines, each line of text requires a separate definition.
Description Defining Barcode Fields
49
Syntax
B,field#,#ofchar,fix/var,row,column,font,density,height,
text,alignment,field rot,type,sep_height,segment |
Range
B = barcode field.
field# = a unique number to identify the field.
1 to 999
# of char = the maximum number of characters. If the barcode uses a check digit, add one
extra character for the check digit.
0 to 2710 characters (varies based on barcode type)
Barcode Type (B13) Maximum Number of Characters*
1 - GS1 DataBar 14 13 - no check digit input
2 - GS1 DataBar 14 Truncated 13 - no check digit input
3 - GS1 DataBar 14 Stacked 13 - no check digit input
4 - GS1 DataBar 14 Stacked Omni
13 - no check digit input
directional
5 - GS1 DataBar Limited 13 - no check digit input
6 - GS1 DataBar Expanded **
7 - UPCA 11 - no check digit input
8 - UPCE 10 - no check digit input
9 - EAN13 12 - no check digit input
10 - EAN8 7 - no check digit input
11 - UCC/EAN128 and CC A/B **
12 - UCC/EAN128 and CC C **
* If too few characters are entered, the barcode is padded to the left with zeros. ** For more information, refer to the GS1 General Specification.
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
50
Field Definition Commands
fix/var = Fixed (F) or variable (V) length field.
Barcode Number of Characters
Fixed or Variable
UPCA 12 F
UPCA+2 14 F
UPCA+5 17 F
UPCA+Price CD 12 F
UPCE 7F
UPCE+2 9F
UPCE+5 12 F
EAN8 8F
EAN8+2 10 F
EAN8+5 13 F
EAN13 13 F
EAN13+2 15 F
EAN13+5 18 F
EAN13+Price CD 13 F
POSTNET 9 or 11 F
Interleaved 2 of 5 or Interleaved
0 - 2710 F or V
I 2 of 5 with Barrier Bar
Code 39 (w/ or w/o CD) or MOD43 0 - 2710 F or V
Codabar (NW7) 0 - 2710 F or V
Code 128 0 - 2710 F or V
Code 16K 0 - 2710 V
Code 93 0 - 2710 V
MSI 0 - 14 F or V
PDF 417 0 - 2710 F or V
Maxicode* 0 to 93 (alphanumeric);
F or V
0 to 128 (numeric)
Data Matrix* 0 to 2335
V
(alphanumeric)
0 to 2710 (numeric)
QR Code* 1167 - 2710 (numeric)
V
707 - 2710
(alphanumeric)
Aztec* 0 - 2710 F or V
GS1 DataBar* 0 - 2710 F or V
P1072179-003 Virtual Device-M User Guide 08/28/2018
Commands
Field Definition Commands
row = the distance from the bottom of the print area to the pivot point (which varies based on
how the text is justified). Include other text or numbers that may appear with the row measurement.
column = the distance from the left edge of the print area to the pivot point. font = the barcode ID
1 =UPCA 2 =UPCE 3 = Interleaved 2 of 5 4 = Code 39 (no check digit) 5 = Codabar 6 =EAN8 7 =EAN13 8 = Code 128 9 =MSI 10 =UPCA +2 11 =UPCA +5 12 =UPCE +2 13 =UPCE +5 14 =EAN8 +2 15 =EAN8 +5 16 = EAN13 +2 17 = EAN13 +5 22 =POSTNET 23 = Code 93 31 = Code 16K 32 = PDF417 33 = MaxiCode 35 = Data Matrix (ECC-200) 36 = QR Code 37 =Aztec 38 =GS1 DataBar 40 = Code 39 (MOD 43 check digit) 41 = UPCA & Price CD 44 = EAN13 & Price CD 50 = Interleaved 2 of 5 with Barrier Bar
density = Barcode density. height = the barcode height in 1/100 inches, 1/10 mm, or dot increments. The minimum
values are:
inches 19 metric 48 203 dpi 38 300 dpi 57
For POSTNET, PDF417, MaxiCode and Aztec barcodes always use 0.
text = the appearance of any text with the barcode. For UPC and EAN use 0 to 7. For all
others, use 8, except where noted.
0 = QR Code Model 2 (default) 1 = no check digit or number system QR Code Model 1 2 = MaxiCode Mode 2 (Numeric Postal Code) QR Code Model 2
51
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
52
Field Definition Commands
3 = MaxiCode Mode 3 (Alphanumeric Postal Code) 5 = number system at bottom, no check digit 6 = check digit at bottom, no number system 7 = check digit with number system at bottom 8 = no text, bar code only. MaxiCode (auto detect modes 2 or 3), Data Matrix,
GS1 DataBar, and Aztec.
alignment = instructions to align the bar code data correctly in the field.
L = left aligned. MaxiCode, Data Matrix, QR Code, GS1 DataBar, and Aztec
must use this option.
R = right aligned C =centered B = centered variable-width barcodes (may not allow pad-character centering
with Code 128, Code 39, and such)
E = right aligns variable width barcodes.
field rot = Field rotation. Field rotation rotates the whole field, not just the characters.
Rotation is affected by the pivot point, which varies depending on how text is justified. Lower left corner of field is the pivot point.
0 = normal (use for MaxiCode) 1 = rotated 270 degrees 2 = rotated 180 degrees 3 = rotated 90 degrees
Note: Serial bar codes with an 8-dot narrow element do not automatically print at
2.5 IPS. Serial bar codes printed at speeds greater than 2.5 IPS may not scan properly.
type = the barcode family. (GS1 DataBar barcode only. Do not include this parameter for
other barcodes.)
1 GS1 DataBar 14 (default) 2 GS1 DataBar 14 Truncated 3 GS1 DataBar 14 Stacked 4 GS1 DataBar 14 Stacked Omni directional 5 GS1 DataBar Limited 6 GS1 DataBar Expanded 7 UPCA 8 UPCE 9 EAN13 10 EAN8 11 UCC/EAN128 and CC A/B 12 UCC/EAN128 and CC C
sep_height = the height of the separator between the linear barcode and a 2D barcode. (GS1
DataBar barcode only. Do not include this parameter for other barcodes.) The choices are 1 (default) or 2.
segment = the width of the segment. (GS1 DataBar barcode only. Do not include this
parameter for other barcodes.) The range is even numbers from 2 to 22 (default).
Notes Each barcode field requires a separate definition.
P1072179-003 Virtual Device-M User Guide 08/28/2018

D, ... |

Description Defining Non-Printable Text Fields
Commands
Field Definition Commands
53

C, ... |

Syntax
Range
D = non-printable text field.
field# = a unique number to identify the field.
# of char = the maximum number of characters in the field where the data will ultimately be
Notes Use this command to create non-printable text fields, which allow you to enter data that are not printed in their raw format. The non-printable text fields can be used to hold data that is later used in a merged field.
Description Defining Constant Text Fields
Syntax
Range
C = constant text field.
row = For monospaced fonts, the distance from the bottom of the print area to the pivot point
column = the distance from the lower-left edge of the print area to the pivot point. gap = the number of dots between characters (203 dots per inch).
font = the font style. Fonts 5 and 6 are for numeric data only.
D,field#,# of char |
0 to 999
used.
0 to 2710 characters for text fields. For barcode fields, the maximum depends on
the barcode type.
C,row,column,gap,font,hgt mag,wid mag,color,alignment,
char rot,field rot,"fixed char", sym set |
(which varies based on how the text is justified). For proportionally spaced fonts, the distance from the bottom of the print area to the baseline of the characters in the field.
0 to 99.
Any number other than 0 or the default number affects your field width.
Default spacing:
Standard 3 dots Reduced 1 dot Bold 3 dots 9-pt emulated bold typeface varies with each letter 6-pt emulated typeface varies with each letter
1 Standard
2 Reduced
3 Bold
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
54
Field Definition Commands
5 HR1
6 HR2
10 9-pt emulated bold typeface
11 6-pt emulated typeface
hgt mag = a height magnifier, 1 to 7 times (4 to 255 points for scalable/downloaded
TrueType fonts).
wid mag = a width magnifier, 1 to 7 times (4 to 255 points for scalable/downloaded TrueType
fonts).
color = text color
options for standard printer fonts:
B Opaque, Normal, Black, Normal D/R/W Opaque, Normal, White, Normal O Transparent, Normal, Black, Normal
options for scalable fonts:
A/N Opaque, Normal, Black, Bold B/O Opaque, Normal, Black, Normal E/S Opaque, Italics, Black, Bold F/T Opaque, Italics, Black, Normal
alignment = the alignment of text in the field. Use L, B, or E for any font.
L = left aligned C = centered (monospaced fonts only) R = right aligned (monospaced fonts only) B = aligned at midpoint of the field E = aligned at endpoint of the field
char rot = character rotation.
0 = normal 1 = rotated 270 degrees 2 = rotated 180 degrees 3 = rotated 90 degrees
field rot = field rotation. Rotation is affected by the pivot point (which varies based on
how the text is justified). The default is the lower-left corner of the field as the pivot point.
0 = normal 1 = rotated 270 degrees 2 = rotated 180 degrees 3 = rotated 90 degrees
"fixed char" = Fixed characters to appear in the field. Maximum 2710 characters. Enclose
in quotation marks.
sym set = the symbol set.
0 = Internal symbol set 1 = ANSI symbol set 437 = DOS code page 437 (domestic) 850 = DOS code page 850 (international)
Notes Use this command to create constant text fields, which print on all labels. The information in a constant field cannot be changed by data in a batch.
P1072179-003 Virtual Device-M User Guide 08/28/2018

L, ... |

Description Defining Line Fields
Commands
Field Definition Commands
55
Syntax L,type,row,column,angle/end row,length/end col
"pattern" |
Range
L = Line Field
type = the type of line. Only vertical and horizontal lines are supported.
S = With a line segment, you define the starting and ending points. V =With a vector, you define the starting point, the angle, and the length of the
line.
row = the distance from the bottom of the print area to the beginning of the line. column = the distance from the left edge of the print area to the beginning of the line. angle/end row
segments: the distance from the bottom of the print area to the end of the line. On
horizontal lines, this value must match the row value.
vectors: the angle of the line.
0, 90, 180, 270
length/end col
segments: the distance from the left edge of the print area to the end of the line. On
vertical lines, this value must match the column value.
vectors: the length of the line in dots.
thickness = the line thickness in dots. The line weight is added upward for horizontal lines
and to the right for vertical lines.
1 to 99
"pattern" = the line pattern. Enter "".
,thickness,
Notes Use this command to define line fields, which can be used to form borders or to strike through text (such as original prices that are being marked down). Line fields are not assigned field numbers, but they are counted toward the number of fields in a label format.

Q, ... |

Description Defining Box Fields
Syntax
Q = box (quadrilateral) field.
row = the distance from the bottom of the print area to the lower-left corner of the box. column = the distance from the left edge of the print area to the lower-left corner of the box. end row = the distance from the bottom of the print area to the upper-right corner of the box. end col = the distance from the left edge of the print area to the upper-right corner of the
thickness = the line thickness in dots. The line thickness fills in from the edges of the box.
"pattern" = the line pattern. Enter "".
08/28/2018 Virtual Device-M User Guide P1072179-003
Q,row,column,end row,end col,thickness,"pattern" |
box.
1 to 99
Commands
56
Field Definition Commands
Notes Use this command to define box fields, which can be used to form borders or to highlight items on the label. Box fields are not assigned field numbers, but they are counted toward the number of fields in a label format.
P1072179-003 Virtual Device-M User Guide 08/28/2018

Commands for Defining Field Options

You can use multiple options with most fields. Options are processed by the printer in the order in which they are received, so place the options in the order that achieves the results that you need. Define options immediately after the field to which they apply.
Note • Some options cannot be used together.

R,1, ... |

Description Option 1: Fixed Data
Commands
Commands for Defining Field Options
57

R,4, ... |

Syntax
Range
R = option header 1 =option 1 "fixed char" = any characters to insert, enclosed in quotation marks. When defining fixed
Notes Use this option to specify information that you want printed on all labels (such as a company name or a store number). Fixed characters can be defined for all or part of a field.
Description Option 4: Copy Data
Syntax
Range
R = option header 4 =option 4
src fld = the field number from which data is to be copied.
src start = in the source field, the position number of the first character to be copied.
# to copy = the number of characters to copy.
dest start = the position number where copied characters should start printing in the
R,1,"fixed char" |
characters for part of a field, use underscores (_) in non-fixed positions. Any spaces are considered fixed characters. Underscore characters are stripped out and the data is compressed if no data is supplied by the batch and the field length is variable.
0 to 2710 characters
R,4,src fld,src start,# to copy,dest start, copy code |
0 to 999
Character positions are numbered from the left.
1 to 2710
1 to 2710
destination field.
1 to 2710
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
58
Commands for Defining Field Options
copy code = the copy method.
1 = copy the field as-is (including characters such as price symbols, pad
2 = copy unformatted data (without characters such as price symbols, pad
Notes Use this option to create a field that uses data from another field. This allows you to create merged fields and subfields more easily by copying the information from multiple fields into one field.

R,6, ... |

Description Option 6: Upload Field Data
characters, and check digits).
characters, and check digits).

R,30, ... |

Syntax
Range
R = option header 6 =option 6
device = the last port that received host data. Use H for host.
Notes Use this option to upload data from any field. Use commas to separate multiple fields of data.
If you are using a batch quantity of 1, data are uploaded at the end of the batch. If you are using a batch quantity greater than 1, data are uploaded after each label.
Description Option 30: Pad Data
Syntax
Range
R = option header 30 = option 30
L/R = the type of padding:
"character" = the pad character, which must be within the 0 to 255 decimal range and
R,5,device |
R,30,L/R,"character" |
L = pad the field on the left R = pad the field on the right
enclosed inside quotation marks.
Notes Use this option to pad a field by filling in blank spaces with the character specified.

R,31, ... |

Description Option 31: Calculate Check Digit
P1072179-003 Virtual Device-M User Guide 08/28/2018

R,42, ... |

Commands
Commands for Defining Field Options
Syntax R,31,gen/ver,check digit # |
Range
R = option header 31 = option 31
gen/ver = enter G to generate a check digit. check digit # = the check digit scheme number, which identifies a check digit scheme that
was already defined.
1 to 10
Notes Use this option to generate a check digit. You cannot use this option if the field contains a UPC, EAN, or Code 39 (with the MOD43 check digit) barcode.
Description Option 42: Price Field
59

R,50, ... |

Syntax
Range
R = option header 42 = option 42 appearance code = Enter 1.
Notes Use this option to print a price field in standard notation, as defined by the country selection. Do not use this option with options 31 or 60, and avoid using it with barcodes.
Description Option 50: Barcode Density
Note • The text below a barcode does not print correctly with UPC-A, UPC-E, or
EAN when using this option.
Syntax
Range
R = option header 50 = option 50
narrow = the dot width of the narrow element.
wide = the dot width of the wide element.
gap = Reserved. nar_space = Reserved. wide_space = Reserved.
R,42,appearance code |
R,50,narrow,wide,gap,nar_space,wide_space |
1 to 99
1 to 99
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
60
Commands for Defining Field Options
Notes Use this option with barcode fields if you want to create a custom density. Note that some barcodes do not print correctly and may not be scannable with this option.

R,51, ... |

Description Option 51: PDF417 Security/Truncation

R,52, ... |

Syntax
Range
R = option header 51 = option 51
security = the security level. Higher security levels add data to a barcode, improving the
stand/default = Truncation selector. Valid values:
Notes Use this option to define a security level or to select if a PDF417 barcode is standard or truncated.
Description Option 52: PDF417 Width/Length
Syntax
Range
R = option header 52 = option 52
row/column = specify if you are defining the number of rows or the number of columns.
dimension = the number of rows or columns defined for the barcode. The default is 4.
R,51,security,stand/default |
possibility that it may scan correctly if it is damaged.
0 to 8 (0 is the default)
S = (default) a standard PDF417 bar code T = truncated
R,52,row/column,dimension |
R = row C = column
3 to 90 for rows 1 to 30 for columns
Notes Use this option immediately after a PDF417 barcode field to define the width or length of the barcode. If you specify the number of columns (width), the barcode length changes. If you specify the number of rows (length), the barcode width changes.

R,53, ... |

Description Option 53: Optional Settings for Aztec
Syntax
P1072179-003 Virtual Device-M User Guide 08/28/2018
R,53,error_ctrl,ECI,menu_sym,str_append,"string" |
Commands
Commands for Defining Field Options
Range
R = option header 53 = option 53
error_ctrl = the error control level. Some damaged barcodes may still scan if the error
control level is high enough.
0 (default) 1 to 99 101 to 104 201 to 232 300
ECI = the ECI Data flag. The default is 0.
0 = Disable 1 = Enable
menu_sym = the Menu Symbol flag. The default is 0.
0 = Disable 1 = Enable
str_append = the structured append information. The default is 1.
1 to 26 characters
"string" = the string to append. The default is "". The string must be enclosed in quotation
marks.
0 to 24 characters
61

R,60, ... |

Notes Use this option with an Aztec barcode to set various parameters.
Description Option 60: Incrementing/Decrementing Fields
Syntax
R,60,I/D,amount,l pos,r pos |
Range
R = option header 60 = option 60
I/D = increment or decrement.
I = incrementing field D = decrementing field
amount = the amount to increase or decrease.
0 to 999
l pos = the leftmost position in the increment/decrement portion of the field. The default is 1.
0 to 2710
r pos = the rightmost position in the increment/decrement portion of the field. The default is
to use the entire field length.
0 to 2710
Notes Use this option to designate a field that increments or decrements from label to label. Do not use this option with option 42 (price field).
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
62
Commands for Defining Field Options

R,61, ... |

Description Option 61: Reimage Field

R,62, ... |

{A ... | }

Syntax
Range
R = option header 61 = option 61
Notes Use this option to reimage the constant field that appears next to a variable field.
Description Option 62: Bypass Barcode
Syntax
Range
R = option header 62 = option 62.
Description Using Check Digits
R,61 |
R,62 |
Syntax
{A,selector,action,device,modulus,fld_length, D/P,"weights" | }
Range
A = Check Digit Header.
selector = a number from 1 to 10. action = enter A to add the check digit scheme. device = the format storage device. Check digits that are saved in Flash memory are saved
even if the printer is power cycled.
F = Flash memory (must be formatted first) R = volatile RAM
modulus = a number used to divide the sum of products or the sum of digits.
2 to 11
fld_length = the maximum number of characters that the field will contain.
0 to 2710 characters
D/P = the algorithm, which determines how the check digit is calculated.
D = sum of digits P = sum of products
"weights" = a string of digits used for calculation. A weight string is a group of two or more
numbers that is applied to a field. The number of digits in this string must equal the number in fld_length, and the string must be enclosed in quotation marks.
P1072179-003 Virtual Device-M User Guide 08/28/2018
Commands
Commands for Defining Field Options
0 to 2710 digits
Notes Use this option to specify check digit criteria. Option 31 is used to calculate a check digit.
63
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
64

Commands for Creating Graphics

Commands for Creating Graphics
Every graphic packet must contain a graphic header, which is followed by other optional graphic fields: bitmap, next-bitmap, duplicate, constant text, line, and box.

{G, ... |

Description Defining a Graphic Header
Syntax
Range
G = graphic header
graphID = a unique number to identify the graphic image.
action = enter A to add the graphic to the printer. device = the graphic storage device:
units = the unit of measure. For bitmapped graphics, G (dots) is the only valid option. row = the distance from the bottom of the graphic image area to the beginning of the first
column = the distance from the left edge of the graphic image area to the left edge of the first
mode = the imaging mode. Enter 0.
"name" = a name for the graphic (optional) enclosed in quotation marks.
{G,graphID,action,device,units,row,col,mode,"name" |
1 to 999
F = Flash memory (saved when the printer is turned off) R = volatile RAM T = temporary storage
bitmap line. Unless you want a fixed amount of white space around the graphic image, use 0.
bitmap line. Unless you want a fixed amount of white space around the graphic image, use 0.
0 to 8 characters
Notes Use this command to define a graphic header.

B, ... |

Description Creating Bitmap Fields
Syntax
B = bitmap field.
row = the distance (in dots) from the graphic image’s bottom margin to the bitmap line. column = the distance (in dots) from the graphic image’s left edge to the bitmap line. algorithm = the coding method for bitmap data:
"data" = a character string made up of hex or run length encoding. Do not put spaces or other
P1072179-003 Virtual Device-M User Guide 08/28/2018
B,row,column,algorithm,"data" |
H = hex representation R = run length encoding
character between the numbers.
0 to 2710 characters

N, ... |

Commands
Commands for Creating Graphics
Notes Use this command to define a bitmap field. Each unique row of dots within the graphic image requires a bitmap field. A bitmap field can be repeated by using a duplicate field.
Description Creating Next-Bitmap Fields
65

D, ... |

Syntax
Range
N = next-bitmap field
adjdir = increments or decrements the row count. Inserts the duplicate line after or before
adjamt = the amount of row adjustment in dot rows. Using 0 overwrites the same line.
algorithm = the coding method for bitmap data:
"data" = a character string made up of hex or run length encoding. Do not put spaces or other
Notes Use this command to use the bitmap or duplicate field data without having to recalculate row and column locations.
N,adjdir,adjamt,algorithm,"data" |
the current row.
0 = increments (inserts after) 1 1 = decrements (inserts before)
0 to 999
H = hex representation R = run length encoding
character between the numbers.
0 to 2710 characters
Description Creating Duplicate Fields
Syntax
Range
D = duplicate field.
adjdir = increments or decrements the row count. Inserts the duplicate line after or before
adjamt = the amount of row adjustment in dot rows.
count = the number of times to duplicate the line.
Notes Use this command to duplicate a prior bitmap or next-bitmap field without retyping the data. A duplicate field represents one row of dots on the image. This can be useful if you have a graphic with a lot of repetition.
08/28/2018 Virtual Device-M User Guide P1072179-003
D,adjdir,adjamt,count |
the current row.
0 = increments (inserts after) 1 1 = decrements (inserts before)
0 to 999
0 to 999
Commands
66
Commands for Creating Graphics

G, ... |

Description Defining the Graphic Field
Syntax
G,graphID,row,column,mode,rotation |
G = graphic field.
graphID = a unique number to identify the graphic image.
1 to 999
row = the distance from the bottom of the print area to bottom of the graphic image. The row
specified in a constant text line, bitmap, line, or box field is added to this value to determine the actual position in the format.
column = the distance from the left edge of the print area to the and the left edge of the
graphic image. The column specified in a constant text line, bitmap, line, or box field is added to this value to determine the actual position in the format.
mode = the imaging mode. Enter 0. rotation = the orientation of the graphic on the supply. Enter 0.
Notes Use this command to define a graphic field, which references the graphic image by the graphID in the graphic header. You must include this field if the graphic will be stored in RAM.
P1072179-003 Virtual Device-M User Guide 08/28/2018

Printing Commands

A batch packet contains the following three parts:
• batch header—identifies the format and how many labels to print.
• batch control—defines the print job.
• batch data (optional)—defines the actual information printed on the label. A batch header begins the file. It tells which format the batch uses and how many labels to print. To record batch data, make a copy of the worksheet.

{B, ... |

Description Defining the Batch Header
Commands
Printing Commands
67

E, ... |

Syntax
Range
B = batch header.
format# = the format number to use.
N/U = how image is generated.
quantity = the quantity to print.
Notes Use this command to define the batch header, which identifies the format and how many labels to print.
Description Defining the Batch Control Field
Syntax
{B,format#,N/U,quantity |
1 to 999
N = New (default). Erase the image and reimage all of the fields using online
data. Any missing fields will be blank.
U = Update the last image with one or more fields. All of the other fields remain
the same as the last queued batch.
0 to 32000
E,feed_mode,batch_sep,print_mult,multi_part,
cut_type,cut_mult,ver_mode,cable_det |
Range
E = Batch Control Field.
feed_mode = Options:
0 = Continuous Feed (default) 1 =On-Demand
batch_sep = batch separators (Do not use batch separators with continuous media.)
0 = no separator (default) 1 = print a separator 2 = print a double-length separator (two tags)
print_mult = the number of tags to print with the same image.
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
68
Printing Commands
1 to 999. 1 is the default.
multi_part = the number of identical parts on one tag.
1 to 5. 1 is the default.
cut_type = enable or disable the cutter.
0 = do not cut (default) 1 = cut before the first tag, during the batch, and after the last tag. 2 = cut in strips, not each tag. 3 = cut before the first tag, during the batch, and after the last tag. No printed
tags will be left between the printhead and cutter.
4 = do not cut before the first tag, but cut during the batch and after the last tag. 5 = cut in strips, not each tag. No printed tags will be left between the printhead
and cutter.
cut_mult = the number of tags to print as a group before cutting. A value of 1 cuts after each
tag.
0 to 32000. 0 is the default.
ver_mode = enable or disable the verifier.
0 = disable the verifier (default) 1 = enable the verifier
cable_det = enable verifier cable detection. The printer can be set to detect when a verifier’s
cable is disconnected.
0 = the printer does not detect when a cable is disconnected (default) 1 = detect when the I/O cable is disconnected 2 = detect when the I/O or data cables are disconnected
Notes Use this command to define the batch control field, which defines the print job and applies to the batch that immediately follows it. The batch header must precede this field.

field#, ... | ... |

Description Defining Batch Data Fields
Syntax field#
field# = Identifies the text, bar code, or non-printable text field in which to insert the
"data_string" = provide the actual information to appear in fields, enclosed in quotation
0 to 2710 characters
C = Identifies information to be appended to the data string. This parameter is optional. "continuation" = (optional) provide the actual information to be added to the batch
0 to 2710 characters
Notes Batch data fields should be sent in field number order.
,"data_string" | C,"continuation" |
following data. Range: 1 to 999.
marks.
packet, enclosed in quotation marks. You can use this option to break up longer fields.
P1072179-003 Virtual Device-M User Guide 08/28/2018

Status Polling Commands

There are two types of Status Polling:
• Inquiry Request—information about the readiness of the printer.
• Job Request—information about the current (or last received) job downloaded to the printer.
ENQ
Description Inquiry Request (ENQ)
An ENQ character, which is user-defined and does not appear as a visible character in printer responses, acts as a request for printer status information. An ENQ command is processed as soon as it is received, whether it is a stand-alone command or part of a packet.
Printer status is returned to the host in a 3-byte (3-character) sequence. The first byte is the ENQ character, and the second and third bytes are printer status codes.
Commands
Status Polling Commands
69

{J,#}

Description Job Request
Syntax
Range
J = job status request
Notes A Job Request returns status information about the most recently processed print job. You can send a job request after an ENQ or batch. You can send two levels of Job Requests:
• Numeric Error Codes Only (0, 1, or 2)
• Verbose (3 or 4)
The job response varies, depending on the type of request sent to the printer.
{J,#}
0, 1, 2 = returns ASCII-coded strings or numeric error codes 3 = returns an error number 4 = returns a number of labels printed in batch
08/28/2018 Virtual Device-M User Guide P1072179-003
Commands
70

Set/Get/Do (SGD) Commands

Set/Get/Do (SGD) Commands
The following SGD commands were added for use with your Virtual Device app. For more detailed information on SGD commands, see the Programming Guide for
®
ZPL II Guide).

apl.enable

Description This command enables or disables a Virtual Device app.
Note •
ZPL and CPCL may not function normally when a Virtual Device app is enabled.
You must restart the printer after changing the value of apl.enable.
Type setvar
Commands Details
, ZBI 2, Set/Get/Do, Mirror, and WML (formerly the ZPL II Programming
setvar

apl.version

This command instructs the printer to enable a virtual device.
Format: ! U1 setvar "apl.enable" "value" Values:
"apl-m" = enable Virtual Device-M "none" = disable any Virtual Device app (ZPL and CPCL function normally)
Example 1 • This example shows how to enable the Virtual Device-M app:
! U1 setvar "apl.enable" "apl-m"
Example 2 • This example shows how to disable the Virtual Device-M app:
! U1 setvar "apl.enable" "none"
Description This command returns the version of the currently running Virtual Device app.
Type getvar
Commands Details
getvar Format: ! U1 getvar "apl.version"
P1072179-003 Virtual Device-M User Guide 08/28/2018

apl.framework_version

Description This command returns the level of support for Virtual Devices in the
printer operating system.
Type getvar
Commands Details
getvar Format: ! U1 getvar "apl.framework_version"
Commands
Set/Get/Do (SGD) Commands
71
08/28/2018 Virtual Device-M User Guide P1072179-003

Supported Fonts

This section provides you with examples of the fonts available on the Zebra printers with Virtual Device-M.
Table 2 • Supported Fonts
Font Example
1 Standard font
08/28/2018 Virtual Device-M User Guide P1072179-003
Font Example
2 Reduced font
Table 2 • Supported Fonts (Continued)
Supported Fonts
73
3 Bold font
5
6
08/28/2018 Virtual Device-M User Guide P1072179-003
Supported Fonts
ANSI Code Page 437
Code Page 850
74
Table 2 • Supported Fonts (Continued)
Font Example
10 9-point emulated bold font
P1072179-003 Virtual Device-M User Guide 08/28/2018
Table 2 • Supported Fonts (Continued)
ANSI Code Page 437
Code Page 850
Font Example
11 6-point emulated font
Supported Fonts
75
08/28/2018 Virtual Device-M User Guide P1072179-003

ZDownloader Utility

This section provides you with the instructions for downloading and installing the ZDownloader Utility.
Contents
Downloading the ZDownloader Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Installing the ZDownloader Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
08/28/2018 Virtual Device-M User Guide P1072179-003

Downloading the ZDownloader Utility

To download the ZDownloader Utility, perform the following from your computer:
1. Open a web browser and navigate to http://www.zebra.com.
2. Click on the Support & Downloads header on the web page.
3. Select a printer.
4. When the printer page opens, locate and select the Software Utilities tab.
5. Scroll down to the ZDownloader Utility and select the Download link.
Note • You will be prompted to create a user profile or login to
http://www.zebra.com with an existing profile to download the ZDownloader Utility.
6. Click on the Accept and Begin Download Now button.
The installation file download will begin.
ZDownloader Utility
Downloading the ZDownloader Utility
77
08/28/2018 Virtual Device-M User Guide P1072179-003
ZDownloader Utility
78

Installing the ZDownloader Utility

Installing the ZDownloader Utility
To install the ZDownloader Utility, perform the following from your computer:
1. Run the installation file after the download is complete.
2. If you are prompted to allow the application to make changes to your computer,
click Yes.
The utility installs on your computer. When installation is complete, the Firmware Downloader and ZBI Key Manager installation wizard appears.
3. Click Next.
The End User License Agreement appears.
P1072179-003 Virtual Device-M User Guide 08/28/2018
4. Read the terms of the agreement.
ZDownloader Utility
Installing the ZDownloader Utility
79
5. Click the checkbox to accept the terms.
6. Click Next.
The installation wizard displays information about the installation.
08/28/2018 Virtual Device-M User Guide P1072179-003
ZDownloader Utility
80
Installing the ZDownloader Utility
7. Click Next.
The installation wizard installs the application.
8. Click Finish to close the wizard.
P1072179-003 Virtual Device-M User Guide 08/28/2018

Index

A
alignment
barcode, 49 of constant text fields, 53 text, 47
application installation
acquiring the app, 11 canceling a download in progress, 22
downloading the app to printers, 20 auto-detect printers, 13 Aztec Optional Settings (Option 53), 60
B
backfeed parameters, 45 Barcode Bypass (Option 62), 62 Barcode Density (Option 50), 59 barcode field definition and selection, 49 batch control field definition, 67 batch data field definition, 68 batch header definition, 67 baud rate, 44 bitmap field creation, 64 black mark media, 39 box field definition, 55 Bypass Barcode (Option 62), 62
C
Calculate Check Digit (Option 31), 58 centered text, 47 check digits
calculation, 58
specifying criteria, 62 clear packets from memory, 45
color of font, 47 command packet syntax, 36 communication settings packet, 44 connectivity options, 8 constant text field definition, 53 continuous media, 39 control characters packet defining, 42 Copy Data (Option 4), 57 currency selection, 41
D
Decrementing Fields (Option 60), 61 defining
backfeed control packet, 45 barcode fields, 49 batch control field, 67 batch data fields, 68 batch header, 67 box fields, 55 communication settings packet, 44 constant text fields, 53 control characters packet, 42 format header, 47 graphic field, 66 graphic header, 64 line fields, 55 monetary formatting packet, 41 non-printable text fields, 53 print control packet, 40 supply setup packet, 39 system setup packet, 39 text fields, 47
direct thermal mode, 39
08/28/2018 Virtual Device-M User Guide P1072179-003
82
Index
disabling the Virtual Device
by apl.enable SGD command, 70
through the control panel
QLn320 and QLn220 printers, 28 QLn420 printers, 25 Supported ZTxxx And ZDxxx Printers With
A Display, 31
ways to enable/disable, 24 duplicate field creation, 65
E
enabling the Virtual Device
by apl.enable SGD command, 70
through the control panel
QLn320 and QLn220 printers, 28 QLn420 printers, 25 Supported ZTxxx And ZDxxx Printers With
A Display, 31
ways to enable/disable, 24 English unit of measure, 47 ENQ command, 69
F
features, 7 Field Data Upload (Option 6), 58 Fixed Data (Option 1), 57 flow control, 44 fonts, 72
select the font style, size, and color, 47
specify for constant text fields, 53
using the font packet, 46 format header defining, 47
G
graphic field definition, 66 graphic header definition, 64
J
job request, 69
L
language specification, 39 liability, 2 line field definition, 55
M
manually add printers, 14 metric, 47 modifying printer communication settings
through ZDownloader, 18 modulus, 62 monetary formatting packet, 41
N
next-bitmap field creation, 65 non-printable text field definition, 53
O
Option 1: Fixed Data, 57 Option 30: Pad Data, 58 Option 31: Calculate Check Digit, 58 Option 4: Copy Data, 57 Option 42: Price Field, 59 Option 50: Barcode Density, 59 Option 51: PDF417 Security/Truncation, 60 Option 52: PDF417 Width/Length, 60 Option 53: Optional Settings for Aztec, 60 Option 6: Upload Field Data, 58 Option 60: Incrementing/Decrementing Fields,
61
Option 61: Reimage Field, 62 Option 62: Bypass Barcode, 62
H
horizontal position adjustment, 40
I
immediate command enabling/disabling, 42 Incrementing Fields (Option 60), 61 inquiry request (ENQ), 69 IP Ethernet printers
auto-detect, 13 manually add, 14
P1072179-003 Virtual Device-M User Guide 08/28/2018
P
Pad Data (Option 30), 58 parallel printers, 14 parity, 44 PDF417 Security/Truncation (Option 51), 60 PDF417 Width/Length (Option 52), 60 Price Field (Option 42), 59 print contrast, 40 print control packet defining, 40 print servers, 8 print speed, 40
Index
83
R
Reimage Field (Option 61), 62 ribbon on/off, 39 rotation
of barcode, 49 of constant text fields, 53 of text fields, 47
S
serial interface
add printers, 14 Set/Get/Do (SGD) commands, 70 skip index mode, 39 stop bits, 44 supply position, 39 supply setup packet definition, 39 supported fonts, 72 symbol set
for constant text fields, 53
in the system setup packet, 39
specification, 47 syntax for commands, 36 system setup packet definition, 39
T
text alignment, 47 text below barcode, 51 text field defining, 47 thermal transfer mode, 39
U
unit of measure, 47 Upload Field Data (Option 6), 58
USB printers, 13
V
version
level of support for Virtual Devices, 71
of Virtual Device, 70 vertical position adjustment, 40 Virtual Device version, 70
W
wired print server
auto detect, 13
for more information, 8
manually add, 14 wireless print server
auto detect, 13
for more information, 8
manually add, 14 word length, 44
Z
ZDownloader
adding printers, 12
canceling a download in progress, 22
deleting printers, 19
downloading the Virtual Device app to printers,
20
downloading ZDownloader, 77
installing ZDownloader, 78
modifying printer settings, 18 zebra printer setup utility for android devices, 12 zero with slashes, 39
08/28/2018 Virtual Device-M User Guide P1072179-003
Corporate Headquarters
Zebra Technologies Corporation 3 Overlook Point Lincolnshire, IL 60069 USA T: +1 847 634 6700 Toll-free +1 866 230 9494 F: +1 847 913 8766
http://www.zebra.com
P1072179-003
Loading...