Use the Link-OS SDK with Non-Link-OS Printers

Through the interactions with our Zebra developer community, we continue to see Link-OS Multiplatform SDK play a big role in developing printing apps to meet the label and receipt printing needs with Zebra Link-OS printers. From time to time, we have developers ask, “Can I use Link-OS SDK to develop apps for non-Link-OS printers?” or “Does Link-OS SDK support non-Link-OS printers?”

Link-OS vs Non-Link-OS

Before answering the above questions, let us understand what the Link-OS is. The Link-OS is a collective term for a suite of software and tools that make it simple to design and adapt a label/receipt printing application and to configure, manage and maintain the printers. In other words, the Link-OS comprises three parts at a high level: standalone applications (tools/utilities), software SDK and the printer firmware. This Zebra Link-OS Features Guide summarizes very well on what Link-OS offers. We will not go into the details of each Link-OS feature in this article.

Through the years, most Zebra printer models are developed based on the Link-OS architecture to adapt the latest technologies. These printer models, as listed on the Zebra Link-OS Features Guide, are called Link-OS printers. All the other models that are not listed on this Zebra Link-OS Features Guide are called non-Link-OS printers, which includes the legacy models and some newer models. Yes, Zebra continues to make non-Link-OS printers for specific markets and verticals. In general, the non-Link-OS printer models have reduced features and reduced capability. But there are things in common between Link-OS and non-Link-OS printers, such as connectivity (Wireless, Wired, Bluetooth or USB) equipped across all printer models.

Using Link-OS SDK with non-Link-OS Printers

Because there are commonalities between Link-OS printers and non-Link-OS printer, the Link-OS SDK can still be used to develop apps for non-Link-OS printer. We will highlight the major components in Link-OS SDK that are still applicable to non-Link-OS printers.

  1. Printer Discovery

The Printer Discovery related API can still be used for discovering non-Link-OS printers that are connected to the network, USB or sending Bluetooth advertisement packets.

  1. Printer Connectivity

The Printer Connectivity related API can also be used for making a connection to non-Link-OS printers through IP address, Bluetooth MAC address or USB ID string. Once the connection is established, you can communicate with the printer through read or write API.

  1. SGD

Once the connection is established, you can use SGD API to send configuration commands to the non-Link-OS printers. Just be aware, the non-Link-OS printers have a reduced set of SGD commands. Check the manual for supported SGD commands for the specific non-Link-OS printer.

  1. Printer Factory

When using Printer Factory API, use the API that return the ZebraPrinter instance for non-Link-OS printers. The API that return ZebraPrinterLinkOs instance is not applicable for non-Link-OS printers.

  1. Template Filling & Graphics Conversion

The Template Filling and Graphics Conversion API are based on ZPL format language. If the non-Link-OS printers have the ZPL capability and the ZPL format language is enabled, then the application can use these API.

  1. Printer Status Checking

The Printer Status Checking API is part of the ZebraPrinter object. The API can be used for checking the operational status of non-Link-OS printers, such as Paper Out, Head Open, etc.

The other unmentioned components in the Link-OS SDK are not application to non-Link-OS printers. As always, your comments and feedback are welcome. Happy coding!