0

我是 ESC/POS 世界的新手。我有一台连接到 Windows 7 桌面的 Epson TM-T20II 打印机 USB。下面的代码是从爱普生获得的示例应用程序,在此链接: https ://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=269

对于我的测试,我已将代码粘贴到记事本中并将其内容打印到爱普生打印机。打印机“按原样”打印下面的代码。为了让打印机解释 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
4

2 回答 2

3
  • 首先确保您发送的是转义字符,而不是字母 ESC。转义字符看起来像这样 ←(输入 alt+27)。
  • 其次(在 PC 上)您需要将文件直接发送到打印机。实现此目的的一种方法是使用这个名为RawPrint的工具。祝你好运!
于 2018-04-17T02:30:00.037 回答
2

您似乎只是将带有打印机驱动程序的文本发送到您的打印机。这是因为您的打印机驱动程序不会解释您输入的文本,而是将其呈现以供打印。相反,您必须将原始字节序列直接发送到您的打印机。

我不知道是否有办法只使用 Windows 打印机界面来实现这一点。也许有类似“原始”驱动程序的东西。但是,您可以使用 ESC/POS 库。对于 php,有escpos-php,对于 Python,有python-escpos。可能还存在其他语言的库。

例如,它们为您提供 ESC/POS 命令集的抽象。这是一个使用 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()

它连接到打印机,打印文本“Hello World”,末尾带有换行符。然后它继续打印图像(当然必须可用)和条形码,最后剪纸。

此外,您可以使用p.raw(b'\x1b'+'@')将 ESC/POS 序列“ESC @”发送到打印机。有了这个,您可以直接将您的示例发送到您的打印机。

于 2017-01-24T18:28:20.460 回答