sPrint
The printing SDK for labels, documents and Superroute print nodes
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
- Windows: direct, through the USB printer class.
- Windows: the Windows print queues.
- macOS: direct, without a print queue.
- macOS, Linux and Raspberry Pi: CUPS.
- Linux and Raspberry Pi: direct, through usblp.
- Android: USB host, with an OTG cable.
- iOS gives apps no USB printers.
- 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.
- ZPL
- TSPL
- ESC/POS
- CPCL
- HPRT
- Xprinter
- XPP
- PL
- TP-108
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
- Install the package for your platform.
- Find a printer on the network, on USB or over Bluetooth and save it in a printer registry.
- Print a label, then a PDF or HTML page.
- To receive jobs from Superroute, pair the device as a print node with a code from the Print Nodes page.