2017-01-24 2 views
-1

Je suis nouveau dans le monde des ESC/POS. J'ai une imprimante Epson TM-T20II USB connectée à un bureau Windows 7. Le code ci-dessous est un exemple d'application obtenu d'Epson à ce lien: https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=269Les commandes ESC/POS ne sont pas reconnues par Epson TM-T20II

Pour mon test, j'ai collé le code dans le Bloc-notes et j'imprime son contenu sur l'imprimante Epson. L'imprimante imprime le code ci-dessous "tel quel". Que dois-je faire pour que l'imprimante interprète les commandes ESC/POS?

ESC "@" 
ESC "3" 18 
ESC "a" 1 
GS "!" 0x11 
0xC9 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xBB LF 
0xBA 0x20 0x20 0x20 0x45 0x50 0x53 0x4F 0x4E 0x20 0x20 0x20 0xBA LF 
0xBA 0x20 0x20 0x20 
GS "!" 0x00 
"Thank you " 
GS "!" 0x11 
0x20 0x20 0x20 0xBA LF 
0xC8 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xCD 0xBC LF 
ESC "2" 
GS "!" 0x00 
ESC "J" 4 
"NOVEMBER 1, 2012 10:30" 
ESC "d" 3 
ESC "a" 0 
"TM-Uxxx       6.75" LF 
"TM-Hxxx       6.00" LF 
"PS-xxx        1.70" LF LF 
GS "!" 0x01 
"TOTAL        14.45" LF 
GS "!" 0x00 
"---------------------------------------" LF 
"PAID        50.00" LF 
"CHANGE       35.55" LF 
ESC "p" 0 2 20 
GS "V" 66 0 

Répondre

1

Il semble que vous envoyez juste le texte avec un pilote d'imprimante à votre imprimante. C'est parce que votre pilote d'imprimante n'interprète pas le texte que vous entrez mais le rend pour l'impression. Vous devez envoyer les séquences d'octets brutes directement à votre imprimante.

Je ne sais pas s'il existe un moyen d'y parvenir en utilisant uniquement l'interface d'imprimante Windows. Peut-être qu'il y a quelque chose comme un "cru" -driver. Vous pouvez cependant utiliser une bibliothèque ESC/POS. Pour php il y a escpos-php et pour Python il y a python-escpos. Il existe probablement aussi des bibliothèques pour d'autres langues.

Ils vous fournissent par exemple l'abstraction de l'ensemble de commandes ESC/POS. Ceci est un exemple pour l'utilisation de python-escpos:

from escpos.printer import Usb 

# the parameters of the next call depend on the 
# Vendor ID and Product ID of your USB-printer 
p = Usb(0x04b8,0x0202,0) 
p.text("Hello World\n") 
p.image("logo.gif") 
p.barcode('1324354657687','EAN13',64,2,'','') 
p.cut() 

Il se connecte à l'imprimante, imprime le texte « Bonjour tout le monde » avec une nouvelle ligne à la fin. Il procède ensuite à l'impression d'une image (qui doit être disponible bien sûr) et d'un code à barres et coupe enfin le papier.

De plus, vous pouvez utiliser p.raw(b'\x1b'+'@') pour envoyer la séquence ESC/POS "ESC @" à l'imprimante. Avec cela, vous pouvez directement envoyer votre exemple à votre imprimante.