Installation

Run the setup application (EthPrnSetupX64.exe for 64 bit or EthPrnSetup.exe for 32 bit)
The setup will install a Windows service named 'Ethernet POS Printing Service'.
Once installed, the Ethernet POS Printer Configuration tool will be launched.
Then select the printer you wish to connect to.
It is best not to install any Windows Printer driver provided by the printer manufacturer other than hardware specific drivers such as the printer USB driver.
Installing the Windows Printer Driver or other tools can lock the printer port in an exclusive way which will prevent Ethernet POS or other applications to connect directly to the printer.
If you must have the Windows Pinter Driver installed, you can configure Ethernet POS to use it but then you will not have bidirectional communication support (which is in practice rarely needed).
The Ethernet POS confuration tool has a <Test printing> button which can verify that the communication between the software and the printer is working fine.
You can also test printing from the command line interface by issuing the following command:
echo Hello World > \\.\pipe\ethpos_printer_0

Configuration

The configuration is performed by starting the 'Ethernet POS Printer Configuration' GUI tool (EthPrnCfg.exe).

Barcode emulations

This feature is great when your printer is too old to print code such as QR Codes, PDF417 codes and others.
For example the Epson® TM-T88III printer cannot print QR Code which are often needed nowadays, by enabling the emulation the printer can be treated like it is a modern TM-T88VI printer.
Barcode emulation only works with ESC/POS compatible printers.

Programming

They are 3 ways to send print jobs to Ethernet POS:

  1. By sending the print job data to TCP port 9100.
  2. By configuring an http or https url that will be pooled on a regular basis to get the print job data that needs to be sent to the printer. The url data type (content-type) must be "application/octet-stream".
  3. By sending the print job data through the "\\.\pipe\ethpos_printer_0" named pipe.
Method 1 is best when the application that sends the data and Ethernet POS are connected together through TCP/IP
Method 2 is best when Ethernet POS is connected to the Internet but not directly in the same network. It is also very secure because authenticated https calls can be used.
Method 3 is best when the application that sends the data is running on the same machine as Ethernet POS. It is also the easiest to implement.

One major advantage of using Ethernet POS with your application is that it gives you abstraction in how to communicate with the physical printer. Once Ethernet POS is configured, you will only need to implement one way to communicate with Ethernet POS (Port 9100, url call or Named pipe)

Programming samples are provided for various languages:

Please note that the source code we provide is royalty free and can be reused in your application.

Esc2Bin command line tool

Esc2Bin is a command line tool that is included with Ethernet POS and that can be used to convert human readable ESC/POS source code to printer native binary format or to C style format.
For example the following source code will print a QR Code:

ESC "@" ' Initialize the printer
ESC "a" 1 ' Align center
"Please scan the QR Code below" LF
GS "(k" 4 0 49 65 50 0
GS "(k" 29 0 49 80 48 "https://www.activeplus.com"
GS "(k" 3 0 49 81 48
GS "V" 65 3 ' Feed and cut the paper

To convert it to binary data and send it to the printer use the following command line:

esc2bin < qrcode.txt > \\.\pipe\ethpos_printer_0

You can also convert it to binary data encoded in C/C++ style format using the following command line

esc2bin -c < qrcode.txt

This will output the following C style format:

"\x1b@"
"\x1ba\x01"
"Please scan the QR Code below\n"
"\x1d(k\x04\01A2\0"
"\x1d(k\x1d\01P0https://www.activeplus.com"
"\x1d(k\x03\01Q0"
"\x1dVA\x03"