Printer setup by brand
The agent finds printers by itself:
- OS printers: every printer installed in Windows, macOS (CUPS) or Linux (CUPS).
- USB thermal printers that have no OS driver.
- Network printers on port 9100, when network discovery is on (
printers.discovery.network) or listed by hand. - Serial and Bluetooth (SPP) printers listed by hand.
Printers that cannot be discovered are added in the device config (Dashboard → Config):
{
"printers": {
"manual": [
{
"name": "Kitchen",
"connection": "network",
"address": "192.168.1.50:9100",
"kind": "thermal",
"paper": "80mm"
},
{ "name": "Bar", "connection": "serial", "address": "COM3", "serial": { "baudRate": 19200 } }
],
"aliases": { "receipt": "prn_7f3a", "kitchen": "prn_91cc" }
}
}
Give printers aliases (receipt, kitchen, label) so your code does not depend on printer IDs, which differ from one computer to the next. Run jodaprint-agent status to see each printer's ID and state.
The agent picks a profile from the printer's name (epson-tm, star-tsp, xprinter, rongta, sunmi-cloud, generic-80mm, generic-58mm). The profile sets the characters per line, the codepage table, and whether the printer supports native QR codes, a buzzer and real-time status.
Epson (TM-T20, TM-T88, TM-m30…)
- USB: install Epson's Windows driver ("EPSON Advanced Printer Driver") or use the printer without a driver; both work. With the driver, the printer's status comes from the Windows spooler only.
- Network: set a fixed IP (hold the feed button at power-on to print the network settings) and add it as
network, port 9100. Real-time status (paper out, cover open) works over the network. - Codepage
CP858prints French and Creole accents.
Star (TSP100, TSP650, mC-Print)
- Put the printer in ESC/POS emulation mode (Star's utility, or the DIP switches on older models). The agent sends ESC/POS to every brand.
- TSP100 "futurePRNT" models only print graphics in Star mode: prefer a newer model or the network interface in ESC/POS mode.
Xprinter, Rongta and other generic ESC/POS printers
- Usually sold without a driver: plug in USB, and the agent finds the printer. On Windows, installing the vendor's "POS-80" driver also works.
- Many clones have a smaller codepage table. If accents are wrong, try
CP850orCP1252inprinters.defaults, and see Troubleshooting. - 58 mm models: set
"paper": "58mm"inprinters.defaults.<printerId>if the agent guesses 80 mm.
Zebra (ZD, GK, GX series) and other ZPL printers
- Install the Zebra driver (ZDesigner) or add the printer by IP (port 9100).
- Send
zpljobs. The agent sends ZPL unchanged; the label size comes from your ZPL (^PW,^LL). - Design labels in the dashboard with templates and print them with
{ templateId, data }. - EPL printers (older Zebra LP/TLP) take
epljobs.
Brother QL and Dymo label printers
- These printers do not speak ZPL. Install the manufacturer's driver; the printer then appears as an OS printer (
kind: document). - Print
pdforimagejobs sized to the label (for example 62 mm wide for a Brother QL, 54 × 25 mm for a Dymo address label) withscale: "actual". - Choose the label size in the driver's default preferences.
Office printers (laser, inkjet)
Any printer installed in the OS prints PDF, image, text and HTML jobs. See PDFs and documents.
Android POS devices
Built-in printers of Sunmi, PAX, iMin and Telpo devices are detected automatically. See Android.