For this first post, I’m going back to basics.  Why is printing still needed? Why do you need to think about printing when creating apps? 


There are many use cases for printing depending on the type of application you are writing.  If you're creating applications for retail, you may need a way to createR110Xi4_shipping2_small.jpg shelf labels, or mark a price down on specific items.  You could also be tied in to a system to ship items or distribute tickets.  You could be engaging in mobile sales.  While many times e-mailing receipts works fine, many people prefer a printed receipt and some governments require it.


Printing in these environments is very different from printing at home or in the office.   In your office you may print reports, directions, or tickets.  The primary purpose for printing in business is to track items: provide visibility to what an item is, where it is, where has it been, and what’s its condition.  This is what Zebra calls the Visible Value Chain. Providing this visibility is vital for everything from shipped packages, to identifying people, to monetary transactions.  Solutions that do this are essential to attach the physical world to the digital.


Once you've determined the need to queue_busting_small (1).jpgadd tracking to your application, the printer becomes one device in the solution, similar to the barcode scanner, camera, or mobile computer.  Especially in the mobile world, the value of one device over another is how easy it is to work with and manage.  Managing other devices in mobility is very different than on a non-mobile OS.  There are no printer or peripheral device drivers for iOS or Android. 


This means developers have to have a better understanding of the devices they wish to communicate with.  Each peripheral device company has its own "language" that tells the device what to do with the data.  These languages are usually published and freely available.  For printers, the benefits to sending print language rather than printing with a driver are that the data sent is much smaller, the printer processes it much quicker, and the developer and user have access to a host of diagnostic information and settings allowing for optimized integration.  Zebra has made it as easy as possible for this integration with thorough documentation and the Zebra Link-OS Multiplatform SDK.


Please use the Zebra Launchpad forum to ask questions.  This forum is monitored by Zebra engineers from the Zebra ISV program.


Zebra Knowledge Base (Sample code, white papers, and helpful tips)

Zebra ISV Website

Zebra Link-OS Home Page

Zebra Programming Guide


  Robin West, architect at Zebra Technologies 

Submitted by Anonymous (not verified) on September 27, 2011 Permalink

Hi Sean,
Some of the main ease of integration features of the SDK are with connectivity.  The SDK provides libraries to discover Bluetooth and network printers. It also provides libraries to connect and communicate with Bluetooth, Network, and even Cloud or USB systems where appropriate.  CUPS is great for handling print job management, but there are others.  Zebra has also partnered with Airwatch for printer as a device management.  One of the main reasons we were able to do the Airwatch integration was because of the new Link-OS SDK features like Cloud Connect.
Trying to make sure integration is as easy as possible. is something that Zebra cares very much about.
Robin West

Submitted by PVT784 on May 04, 2019 Permalink

Hi Robin.

Excellent points all around for Hard-Copy output!  As both an IT support specialist using both Ticket/Receipt solutions (using Zebra) for Mobile Support, and using Desktop-based network-attached Small-Scale, and Large Scale Label printing solutions, Having these tools are a great way to integrate and facilitate this kind of Hard-Copy output to satisfy customers, and streamline various functions.

Hopefully this is the last time one has to manually code in HEX for the ESC/POS setups, or ZPL-specific bits to get a Barcode to print correctly...

But Development and Programming are part of the equation; what about connectivity and output job control? 
(Mobile Printing support is quite different than it is for Hard-Line connected print solutions.)
Wireless TCP/IP networking, Wired Ethernet Networking, and Bluetooth all have connection interestings,
But the Wired/WiFi connected printers as a Shared resource are interesting too. 
(On Unix/Linux/MacOS CUPS is a great way to share hard-line printers in a Mixed environment.)   {I don't mention Windows, since that is common, and easily dealt with.)