Skip to main content

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 CP858 prints 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 CP850 or CP1252 in printers.defaults, and see Troubleshooting.
  • 58 mm models: set "paper": "58mm" in printers.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 zpl jobs. 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 epl jobs.

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 pdf or image jobs sized to the label (for example 62 mm wide for a Brother QL, 54 × 25 mm for a Dymo address label) with scale: "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.