3

我正在尝试为 58mm POS 热敏打印机编写正确的 ESC/POS 命令。我尝试将此命令作为 ASCII 文本输入,并将其转换为 HEX,但在这两种情况下,打印机都只打印此代码,而不是收据输出。代码有问题,找不到工作代码的示例(不是命令)。

ESC @
ESC a SOH
ESC ! NUL
ESC t 25 (select character code table)
ESC a 1.49 (centering text)
ESC E 1
Bold text
ESC E 0
Text line 1
Text line 2
Text line 3
ESC a 0
Date/Time: January 14, 2002 15:00

ESC d &H03
ESC a 0
ESC! 1
TM-U210B $20.00
&H0A
Item 1 $20.00
&H0A
Item 2 $10.00
&H0A
&H0A
ESC ! D
TOTAL $30.00
LF
ESC! NUL
------------------------------
LF
PAID $30.00
LF
CHANGE $ 0.00
LF

Thank you!
GS k m d...dk  NUL

我想得到像这个样本这样的打印收据。打印机命令的可用命令在此处。有人可以告诉我正确的代码吗?

4

1 回答 1

12

您实际上是否将“ESC”作为三个单独的字符发送?

如果是这样,您需要发送 ESC ASCII 码:ASCII 码 27。对于 NUL、SOH 和其他不可打印字符也是如此。

看到这个:http ://en.wikipedia.org/wiki/ASCII_code

您需要通过代码执行此操作,因为您需要为 ESC 发送 BYTE 值 27。如果您有合适的文本编辑器,您可以将这些字符放入文本文件并将其发送到打印机。

您还需要发送 &H03 等的 HEX 值,而不是字符 '&'、'H'、'0'、'3'


编辑:此链接可能会有所帮助:https ://www.sparkfun.com/datasheets/Components/General/Driver%20board.pdf

这是一本便宜的 ESC/POS 热敏打印机板手册,解释了您想要实现的目标背后的想法。


-(e)

于 2013-08-13T09:29:02.543 回答