Skip navigation
1 2 3 Previous Next

Label And Receipt Printing

78 posts

Apple will not accept app and app updates from December 23 to 27 (Pacific Time) due to the winter holidays.


If you plan to schedule app releases or other app changes that require your app to undergo Zebra's whitelisting process, please plan accordingly as we've previously received many requests around this time. If you are unsure whether or not you must register your app with Zebra, please refer to iOS App White Listing FAQ page.


Watch for the 2017 Apple Winter Holiday shutdown dates soon!

If you are developing apps to print, you know they are easy to write, but hard to get right. Over the years, the Zebra ISV team has tested hundreds of apps and noticed many similar points of failure and poor user experience. The Best Practices are a collection of things to watch out for. The document goes into recommendations for how to develop for these as well as methods to test apps for best user experience when printing.

The updated guide is on our Techdocs site:

Available Product Documentation - Zebra Technologies Techdocs

We will also went through these best practices in detail in the DEV{TALK} on Wednesday Nov 15. See the video here.

As the holiday season is approaching, we anticipate Apple will shutdown iTunes Connect review process next month. During the shutdown, submissions of new apps and app updates will not be accepted and processed. Last year, the shutdown took place December 23rd through the 27th.


If you plan to schedule app releases or other app changes that require your app to undergo Zebra's whitelisting process, please plan accordingly as we've previously received many requests around this time. If you are unsure whether or not you must register your app with Zebra, please refer to iOS App White Listing FAQ page.


Watch for the 2017 Apple Winter Holiday shutdown dates soon!

The New .NET SDK was not the only recent update. We’ve fixed the bugs and most of the other SDK’s and included these updates on our documentation. The Zebra ISV team has also updated it's Best Practices and includes more clarification around each practice area and basic code snippets showing how to implement many of them.

You can find these documents on Techdocs

KRACK (Key Reinstallation Attacks) is a security vulnerability that targets a key step in the Wi-Fi authentication protocol to break security encryption. These vulnerabilities could enable a proximate attacker (within Wi-Fi range of both the client device and the access point) to access and tamper with Wi-Fi packets over connections that are protected by WPA/WPA2 encryption.

The Link-OS printer operating system builds that address the Key Reinstallation Attack are now available on the Support and Downloads site.

Zebra takes security seriously and recommends that customers update to the latest OS/Firmware to minimize security risk.

.NET developer? Tired of the mobile developers getting all the good stuff?


Good News! Zebra just released a .NET SDK for Windows 7, 8.1, and 10 and you’ll find most of the great API's from our Java SDK as well as comprehensive documentation and sample code.  This release includes everything from connection classes for network, USB, and Bluetooth(Windows 10 only), to settings and graphics functions. 


  • iOS developers will find some new functionality in the form of sendAndWaitForResponse methods as well as parameters to fine tune the connection opening and closing methods.  It has also been updated for iOS 10 and 11.
  • Android sample code is now configured for Android Studio, and the PrintStation app has been updated for newer versions of Android.
  • Multiple bugfixes


Download the SDKs here!

In late September, Apple officially released iOS 11. With the upgrade to iOS 11 on iOS devices, we’ve seen people experience Bluetooth disconnection to Zebra Bluetooth enabled printers. The common symptom is that the app on iOS 11 device can no longer print labels suddenly, even though the printer appears as "Connected" in the settings. The user had to “forget” and reconnect  the printer in settings to resume printing. However, printing stopped again after one or two labels.


Here's how to fix the disconnection issue! In iOS v11 and above, due to Apple’s requirement to use version 2 of the iPod Accessory Protocol (IAP) to manage Bluetooth connections, Zebra recommends that developers place a one second delay between when they close a Bluetooth connection and when they attempt to open another Bluetooth connection. If an application adopts the changes in this way, the app on iOS v11 will work well together with our printer, no matter what firmware version is on the printer.


We will update the readme file in our SDK to share this same info. Stay tuned for more info!

Many companies have deployed mobile printers in the field with only Bluetooth connections, and to manage or monitor them remotely is a challenge. However, with Bluetooth Printer Management(BPM) we have solved this issue. Now, printers can connect through these new two Android Utility Apps(Bluetooth Connector & Connection Manager) available for downloading from Google Play Store. Once the printer is connected to BPM, a gateway will be enabled between the printer(s) and Profile Manager Enterprise(PME) or SOTI MobiControl.


Main Features Include:


      • Easy Tap and Pair Connection
        • Simple Bluetooth pairing
        • Enable the user to quickly connect to any printer
      • Visibility to Your Bluetooth Connected Printers
        • See Alerts indicating printer status, including media out, head open, battery low
        • Proactively prevent issues that cause downtime
        • Monitor and troubleshoot printer issues
      • Manage Bluetooth Devices in the Field
        • Transfer objects to printers in the field
        • Fast deployment direct from your MDM
        • Keep your entire printer fleet at the latest software level


How it works:



Additional information can be found here:

Bluetooth Printer Management Product Page, Bluetooth Connector & Connection Manager

Profile Manager Enterprise

SOTI MobiControl & SOTI MobiControl Connector

We heard our customers and partners, and we’re excited to announce the new Zebra ZQ320 series Mobile Printer. This powerful, efficient, fast and recharged Link-OS mobile printer, includes exciting new features for a competitive price. The new ZQ320 series will replace the IMZ320 series and comes in two models for 3” – ZQ320(Indoors & Outdoors).

New features include:

  • Support now all media types: Receipt, Labels, Linerless.
  • Printers can awake from WIFI. They include the latest wireless connectivity (802.11ac and BT 4.0 (BR, EDR) LE, as well as keeping our Print-Touch (NFC) quick connection capability and MFI support.
  • Charging via USB (Type C connector).
  • Heavier Duty Design, IP54, 5ft drop and 500 tumbles.
  • Printer is wider to support metric media widths in both models: ZQ320 3.15” (80mm)
  • New ergonomic and functional design with new buttons, and led indicators for WIFI/BT connectivity, and for warning/errors.


The new Zebra ZQ320 Series Mobile printer is built with our powerful Link-OS Operating system and is fully compatible with our Print DNA Environment for the development and integration of your applications. Review the links below for more detail.


Print DNA


Link-OS Tools and Utilities

As a new member of the ISV Engineering team, I am excited to work with ISV partners and the Zebra developer community. We are growing in every aspect of the business and it’s an exciting time to be part of this Zebra community. In today’s blog, I’d like to share some common issues related to iOS MFi White Listing for mobile printers.


Zebra mobile printers (iMZxxx series, QLnxxx series and ZQxxx series) are part of the Made For iPhone program, a requirement that hardware accessories must meet to interact with iOS apps. If an iOS application uses the Link-OS Multiplatform SDK to interact with Zebra printer over Bluetooth, it must be white listed before it can be submitted to the Apple App Store for approval. The iOS App White Listing FAQ outlines the process for white listing. One of the steps in the process is to submit the application through Testflight (preferred) or HockeyApp to Zebra ISV team for review and testing, to ensure it provides the proper user experience with Zebra printer through your app. The Best Practices in Creating a Printing Application for Zebra Printers gives a holistic view of techniques available for application developers to employ for best user experience in printing.


Here are a few key points from the out-of-the-box experience and error status handling perspectives.


1. The factory default settings are different in different types of printers. The device.languages setting of factory default, for example, is the line print (line_print) in iMZxxx series and ZQ500 series, while it is default to ZPL in the other series of mobile printers out of the box. Quite often, the application assumes ZPL setting without setting the device.languages through the application explicitly before sending ZPL print jobs. This causes a bad user experience when seeing garbage like prints on an iMZxxx series or ZQ500 series out of the box, as device.languages setting is line_print in factory default.


2. Printer status handling is also important for the user experience. The Link-OS SDK provides getCurrentStatus: API for application to check the status of printer before and after sending a print job to the printer. This API returns the PrinterStatus object to indicate the current status of the printer, including isReadyToPrint, isPaperOut, isHeadOpen, isReceiveBufferFull, etc. We’ve often seen the applications submitted for white listing failed to check the basic status of isPaperOut and isHeadOpen. The applications kept sending jobs to the printer when there was no paper or the print head was open. For a good user experience, instead, an error message should pop up indicating the specific error state of the printer, so the user can correct the error state. The status handling with proper error message can greatly improve the user experience. This is not only a benefit for users, but also can benefit both the app developers and Zebra.


Hope the above helps and happy coding.

Robin West

RFID Announcements

Posted by Robin West Expert Aug 29, 2017

RFID has been around for a while and Zebra has always been at the forefront of this technology.  Despite it's great promise, it's been a very slow technology to take off.  Now that IoT has jumped the gap, RFID technology is catching up as a good, inexpensive way to enable unique locationing, a critical part of IoT.  Zebra has recently announced a few new RFID encoding products to market that we thought might fit your solutions.



If you are developing for RFID, here are some helpful links.  RFID is handled the same way as ZPL and you can use all of the same tools as with standard Zebra Link-OS printers.

RFID Programmers Manual


Link-OS Tools and Utilities

Robin West

Get it on GitHub!

Posted by Robin West Expert Aug 25, 2017

Up until recently we have always shared our printing sample code on the Zebra Support / Knowledge Management site.  Due to popular demand, we have been migrating most of our samples to Github.  In fact, you can find samples and source code for many Zebra products there.  The printing samples are under the name LinkOS-OS-Samples.  Each individual sample is on it's own branch. 


Note: We will be shutting down the Knowledge Management site in the next month.  We are working to update links, please keep in mind this is a content migration and be patient with us.  


While we were going through our samples we found a few old code snippets.  Here is one of them that some of you might still find useful:

Send ZPL Commands via TCP/IP in

Confidential and Proprietary

The source code and other information contained herein is the confidential and the exclusive property of ZIH Corp. and is subject to the terms and conditions in your end user license agreement. This source code, and any other information contained herein, shall not be copied, reproduced, published, displayed or distributed, in whole or in part, in any medium, by any means, for any purpose except as expressly permitted under such license agreement.

Copyright ZIH Corp. 2012


This application demonstrates how to send ZPL commands to a network  ZPL printer.  It uses TcpClient to accomplish the communication.  It was written in Visual Studio 2008 in C# and tested successfully on a Windows XP machine with Service Pack 3 .

Sample Code

Dim ipAddress As String = ""

Dim port As Integer = 9100


Dim ZPLString As String = _

"^XA" & _

      "^FO50,50" & _

      "^A0N,50,50" & _

      "^FDHello, World!^FS" & _




      'Open Connection

      Dim client As New System.Net.Sockets.TcpClient

      client.Connect(ipAddress, port)


      'Write ZPL String to Connection

      Dim writer As New System.IO.StreamWriter(client.GetStream())




      'Close Connection




Catch ex As Exception


      'Catch Exception Here


End Try


The ZT600 Series advances the legacy of the Xi Series printers to combine rugged durability and exceptional performance on a user-friendly, future-ready platform. These next-generation workhorses are designed to help you navigate the rapidly evolving business landscape. So, whether you’re concerned about growing production line demands, increasing operational complexities, integrating disparate systems or controlling investment costs, the ZT600 Series industrial printers have you covered today – and for years to come.


Designed to excel even in the harshest of conditions, the newest printers offer greater operational visibility, control and adaptability for the manufacturing and T&L verticals – but are as user-friendly and intuitive as the consumer gadgets we use daily. The ZT600 Series printers' user interface includes an icon menu system with a high-resolution color LCD display. Advanced diagnostics and troubleshooting, including onboard sensors, alarms and error specific how-to videos, help customers identify, diagnose and fix issues quickly, therefore minimizing downtime. These new printers run Link-OS applications designed to streamline device deployment, network connectivity, daily use, and routine maintenance to optimize productivity.


Combining rugged physical durability and exceptional performance on user-friendly, future-ready platforms, the new ZT510, ZT610, ZT620 are engineered with the most comprehensive feature set of any Zebra stationary printer. These are the workhorse printers our manufacturing, transportation and logistics customers need to meet business and technology needs now and for years to come.


For more information and spec sheets, check out the product pages.

ZT600 Series Industrial Printers | Zebra

ZT510 Industrial Printer | Zebra



This page attracts people from all experience levels. Some people are seasoned experts printing from apps. For others, this is what they seek when they’re looking for help when interacting with a Zebra printer for the first time. If this is the case, then these resources are for you! Start to finish, these steps will help you go from label novice to a printing pro:


     1. If you do not have a previous experience with Zebra Printers, then I recommend the Getting Started with Printers and Apps document. This document walks you through setting up a Zebra printer out of the      box, configuring its basic settings, and designing labels.


     2. If Zebra printers are something you’re comfortable with but writing Android applications that print to them is a whole other story, read through the Getting Started with Android Development document. There      is also sample code and demo apps available here on the Label and Receipt Printing page:


     3. When creating printing applications, there are a few key points developers must keep in mind. These are outlined in Zebra’s Best Practices for Printing Applications. We have a webinar that goes through      these best practices and shows sample code on how they can be implemented. If you are in a hurry, the slide deck is included covering the main points.


     4. Download our Link-OS SDK for implementation, demo sample code, and consultation. There are separate APIs in the SDK for Android and Android BTLE, and each API has at least one demo project.


     5. Finally, review our API documentation to familiarize yourself with the full functionality of the Link-OS SDK. There’s a lot that it can do for you, so take advantage of everything it has to offer.

From June 12th through June 16th, our team will be attending APPFORUM Europe 2017 in Prague!

There may be a delay in our response. If it's urgent, you can always meet us in person at the event!


See you there!


Your Zebra Developer Relations Team

Filter Blog

By date:
By tag: