编写正确的ESC/POS指令以控制POS打印机

3
我正在尝试编写适用于58毫米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

我希望能够像样例那样获得打印收据。可以在这里找到可用于打印机指令的命令。请问有人能给我展示正确的代码吗?

有运气了吗?那个答案应该能帮助你,所以我点了+1。 - Krista K
1个回答

13

您实际上是将"ESC"作为三个单独的字符发送吗?

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

请参阅:http://en.wikipedia.org/wiki/ASCII_code

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

此外,您需要发送&H03等十六进制值,而不是字符'&'、'H'、'0'、'3'。


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

这是一个廉价的ESC/POS热敏打印机板手册,解释了您想要实现的想法。


-(e)


你如何发音ESC/POS? - Alireza Jamali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接