Open Application Platform Docs

sPrint

The printing SDK for labels, documents and Superroute print nodes

sPrint

sPrint is the printing SDK of Superroute. It finds printers on the network, on USB, over Bluetooth and in the system print queues, works out the language each printer speaks, prints labels, PDF, HTML, images and raw commands, and turns a device into a Superroute print node.

Version 0.1.6. Every package of a release has the same version and the same printing engine.

Installation

The sPrint packages for each platform and the first call on each.

Printing

Printers, print jobs, label layouts, printer languages and the fallback for labels.

Bluetooth

Classic Bluetooth and Bluetooth LE printers, and the permissions on each platform.

Print node

Pairing a device with Superroute, its events and its diagnostics.

Migrating from superprinter_flutter

Moving a Flutter app from superprinter_flutter to sprint_flutter.

What it covers

Finding printers

Scan the local network and name each printer by make and model, and list USB printers, classic Bluetooth and Bluetooth LE devices and the system print queues.

Printer languages

Work out a printer's language from its name, its own device ID, the model table or a status question that uses no paper.

Printing

Labels drawn at the printer's resolution in ZPL, TSPL, ESC/POS, CPCL and the vendor dialects, PDF, HTML, images, raw bytes and a self-test.

Print node

Pair the device with Superroute, report its printers and their state, print the jobs sent to it and answer the diagnostics of the Print Nodes page.

Platforms

One printing engine on every platform, with a native layer for Bluetooth, USB and page drawing where the platform needs one.

Platform Network printers USB printers System print queues Classic Bluetooth Bluetooth LE LAN peer printing
Windows Supported Supported1 Supported2 Supported Supported Supported
macOS Supported Supported3 Supported4 Supported Supported Supported
Linux and Raspberry Pi Supported Supported5 Supported4 Supported Supported Supported
Android Supported Supported6 Not applicable Supported Supported Supported
iOS Supported Not supported7 Not applicable Not supported8 Supported Supported

Supported · Not supported · Not applicable

  1. Windows: direct, through the USB printer class.
  2. Windows: the Windows print queues.
  3. macOS: direct, without a print queue.
  4. macOS, Linux and Raspberry Pi: CUPS.
  5. Linux and Raspberry Pi: direct, through usblp.
  6. Android: USB host, with an OTG cable.
  7. iOS gives apps no USB printers.
  8. iOS gives apps Bluetooth LE only.

Every package (C library, .NET, Python, Swift, Android, Flutter) offers the same capabilities on the same platform.

sprint_flutter runs on Android, iOS, macOS, Windows and Linux. The .NET and Python packages run on Windows, macOS and Linux, and the C library on macOS, Linux (Raspberry Pi included) and Windows.

License: Superroute SDK License

Printer languages

Labels are encoded byte for byte as the SuperPrinter agent encodes them. A document printer that takes PDF receives the PDF itself.

sPrint and SuperPrinter

SuperPrinter remains the name of the Superroute printing apps for desktop and Android. sPrint is the SDK the apps are built on, and any other app can use it in the same way.

Getting started

  1. Install the package for your platform.
  2. Find a printer on the network, on USB or over Bluetooth and save it in a printer registry.
  3. Print a label, then a PDF or HTML page.
  4. To receive jobs from Superroute, pair the device as a print node with a code from the Print Nodes page.

Release repository