Is there a Chrome API (HTML5 and Javascript) that will be able to replace the communication between the browser and the locally installed POS printers in USB or Ethernet?
Update: A pure HTML5 solution exists for USB devices, but examples are currently hard to find and browser adoption has been slow:
- WebUSB USB devices only, select browsers.
In regards to HTML5 and JavaScript, since the removal of NPAPI, the solution tends to involve WebSocket to localhost, or cloud-enabled printers.
This HTTP/WebSockets design is used by:
- Zebra Link-OS and Cloud Connect (for label printing, etc)
- Epson ePOS-Device (for receipts, display, barcode scanner)
- Dymo JavaScript Framework 2.0 (for label printing, etc)
- PrintNode
- Google Cloud Print (Slated for retirement Dec 2020)
- Neodynamic TLClient Print (.NET-based for thermal printers)
- QZ Tray software (the successor to "JZebra/QZ-Print", labels, receipts, anything raw, PDFs, HTML, USB Scales, USB barcode readers, serial devices)
In regards to Point-Of-Sale specific printing, I have been unable to locate a ready solution that meets these needs (pure HTML5 and JavaScript, widely adopted), so either a Desktop-installed middle-ware or a server-side middle-ware is currently the way to achieve what you are describing.
Full disclaimer, we're the authors of QZ Tray.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…