Welcome to the Star Software Update, the regular series of blog updates where Star’s Integration Team informs you about the latest important Star Micronics software updates.
In this edition:
- Introducing the CloudPRNT SDK! Now it’s even easier to integrate your favorite CloudPRNT features
Read on to learn what this month's update entails.
Already released, on November 11, 2019.
What is CloudPRNT?
Star CloudPRNT is a REST-based protocol which allows web servers to remotely control and receive events from Star point of sale (POS) peripherals which are CloudPRNT-compatible. CloudPRNT enables server-side control of document printing, barcode scanning, keyboard input, display update, and other peripherals (such as scales) depending on model.
CloudPRNT is suitable for remote printing applications, such as kitchen delivery order printing, warehouse pick ticket printing, etc., where low latency is not strictly required. It is also suitable for lower latency applications, such as traditional POS, with full peripheral control.
This can be very useful for web-based applications, but can apply to any thin client-style environment. CloudPRNT can also simplify the installation, setup, and daily usage, as it eliminates the need to manage IP addresses or custom firewall/tunneling rules at the local site.
In addition to simplifying connectivity, CloudPRNT provides a mechanism to allow client and server to negotiate compatibility and capability information. This allows a server to format its output appropriately to fit the client device.
At this time, several Star models are available with CloudPRNT compatibility:
About the SDK
CloudPRNT is an openly documented JSON/REST-based HTTP protocol, and therefore it is not necessary to have an SDK in order to implement a CloudPRNT-compatible service.
CloudPRNT servers can be created using any server-side technology that can be used to implement web services. Many server-side technologies are used such as PHP, Node.js, ASP.Net, ASP.Net Core, JSP, Python, Lua, and more.
In order to provide maximum benefit to developers, this SDK is not a CloudPRNT server implementation (although sample servers are included), but a set of helper functions, that can be extended as needed and incorporated into as many server-side systems as possible.
SDK Helper Features
This SDK provides functions to assist with:
- Status decoding
- Print job media format negotiation
- Print job conversion, so that the server may generate print jobs in a single media format, which are converted in case that format is not supported by the client device
For integration purposes, the SDK provides the following:
- .Net API: A .Net Standard 2.0 compatible library, which can be installed via NuGet into any .Net 4.6 or later, and .Net Core 2.0 or later project. This API provides job format conversion, status decoding, and ready-made classes for serializing/de-serializing CloudPRNT JSON messages.
- CPUtil: A stand-alone command line tool that can be integrated with any server-side development system that can invoke local processes. This tool can be provided as native binaries for Linux x86, Linux x64, Linux Arm, Mac OS x64, Windows x86 and Windows x64 servers (it is not necessary to install the .Net Framework or .Net Core runtime). environments in order to use it.
- Sample Projects: Examples of very simple CloudPRNT servers, implemented with a variety of server-side technologies. These samples serve as both examples of implementing the CloudPRNT protocol and how to integrate either the API, or cputil in each environment.
- Star Document Markup: A simple, unified printer markup language that can adapt to any Star printer regardless of emulation, print width, or print method. It is a higher-level language that abstracts away the need to know printer-specific escape sequences. It does this by providing easy to use tags for various POS printer functions such as cut, alignment, image printing, and text formatting. Using the document markup system provides a balance between full bit-image based printing, and plain text output, while being easier to use than printer-specific commands. In order to take advantage of the markup language you must use it in conjunction with cputil.
Developers interested in the CloudPRNT SDK should reach out to the Star Integration Team to discuss the integration process specific to their development environment.