pure-escpos

ESCPOS printing with no dependencies

Usage no npm install needed!

<script type="module">
  import pureEscpos from 'https://cdn.skypack.dev/pure-escpos';
</script>

README

This is my implementation of ESCPOS Printing from within node nw.js applications
ADVANTAGE: nothing else needed i.e. no dependencies except built in modules:
'fs' , 'os' ( in fact only needed when using on multiple platforms), and 'child process'

CEAVEAT: as its based on copying files to the printer-queue biderectional commands are not supported
Tried to implement all basically necessary (and common betweeen printer models ) commands in an easy usable fashion

TODO: improve error tracking, implement more of the full command list, implement OSX

Prerequisites:
On Win powershell is now used instead of cmd(net view) to detect printers
At least one RAW-printer needs to be installed on the system :
Under WINDOWS : just use the printer driver to install, most modern printers support both modes (driver and RAW) automatically and !!! share the printer using a NAME which will be listed when network shares are ealuated
On LINUX (and OSX): just install a (driverless) RAW Printer it will be listed by lp

Usage:

Printer = require('escpos_printing.js');
Printer.ESCPOS_INIT();
Printer.append(put commands and functions here);
var sucess = Printer.ESCPOS_PRINT(currentPrinter);
   if(!sucess){
      alert(Printer.ESCPOS_LASTERROR);
   }           

Functions summary:
ESCPOS_INIT : Initialize globals and lists printers to array
append : adds commands and Text to the "Print Buffer"
ESCPOS_CMD : submit a command (as defined in the set)
ESCPOS_PRINT : collect "Printer Buffer" write it to a prt file and send the file to the printer-queue
ESCPOS_IMAGEFILE : print image from a file
ESCPOS_BARCODE : Print Barcodes
ESCPOS_QRCODE : Print QR-Codes
ESCPOS_CPBYNUMBER : Select a codepage ( Named Versions available as extra command sets)
ESCPOS_CP_EPSON : Select codepage as defined by epson
ESCPOS_CP_STAR : Select Codepage as defined by STAR using standard ESCPOS Command
STAR_CP : Select codepage using a special command used by star printers
ESCPOS_CHARSET : select international characterset

for more examples of usage look at demo.js