Point-of-sale (POS) printers are all different, so the implementation of the more advanced ESC/POS features varies considerably between vendors and models.
Some months ago I extracted compatibility information out of the escpos-php library, so that it could be used by the python-escpos team as well. We’re still in the early stages, but both of these projects now have similar compatibility features.
You can the new shared database on GitHub as receipt-print-hq/escpos-printer-db, and I’m beginning to add it to some printing projects that need it.
Today I’m blogging a few screen captures from the new web viewer for this database that has come out today, hosted here (source code here).
Character encodings
Vendors
Printer profiles
Tech used
I’ve used materialize.css with backbone.js and jQuery. This is the first time I’ve attempted using materialize – I’m normally a bootstrap.css user.
The back-end data is generated with Python, but the actual site is served as a single-page application, with static JSON files hosting the data.
Hello Mike,
I am working on a project in Java and Android, both require to print raw data (directly) to thermal receipt ESC/POS printer using Ethernet connection using Socket.
I was able to print successfully Latin characters, but no Graphics.
Do you have any idea on how to do that? or if you have worked on that issue?
Thanks,
Robert
@Robert – I’m the author of the image implementations for escpos-php and python-escpos, and have done some bugfixes on a C implementation (separately authored) which I think would port easily to Java.
If the manuals from your printer vendor don’t help, then check out these code samples-
As some background, there are two main image formats that you will find in ESC/POS. Commands with best compatibility are GS v 0 for ‘raster format’, or ESC * for ‘column format’. The printer database in this post contains flags for which printers support the different types of images.