使用JAVA或批处理文件打开现金抽屉

时间:2012-07-03 10:31:41

标签: java batch-file thermal-printer

我有一台合作伙伴RP-300收据打印机,带有现金抽屉,用于实验目的。它通过LPT1连接到PC。

我想通过java应用程序或批处理文件打开现金抽屉。

有什么想法吗?

EDIT 我发现打开抽屉的命令是ESC p,十六进制值\ x1b \ x70 \ x00,

但如何使用cmd将该命令发送到打印机?我尝试将后者放入文本文件中,然后使用copy \ b文件名lpt1,但它只是在打印机上打印文本文件的内容。 / p>

2 个答案:

答案 0 :(得分:5)

我查看了手册,命令中还包含两个参数:脉冲开启和脉冲关闭。这里也有很好的解释:How to program cash drawer to open。 因此命令为ESC p m t1 t2,其中m与连接器引脚有关,t1,t2为高/低时间。 您只发送ESC p 0 (\x1b\x70\x00),而您应该这样做。 ESC p 0 25 250 (\x1b\x70\x00\x19\xfa)

copy / b是将控制命令发送到打印机的完美有效方式,它应该可以正常工作。

使用任何十六进制编辑器确保您的文件包含正确的十六进制序列。

希望这有帮助

修改:link to technical manual

编辑:要获取在文件中编码的命令序列(长而简单):
1。获取Notepad ++
2。检查你是否在插件下安装了Converter。如果没有,请找到并安装它
3。在Notepad ++中创建新文件
4。在编码下选择ANSI
5。输入1b700019fa

6。选择(突出显示)您输入的字符串(或选择全部使用Ctl-A)
7。转到插件 - >转换器 - > HEX - > ASCII
8。你应该看到乱码输出(里面有字母p)。保存
9。将文件发送到打印机。

答案 1 :(得分:1)

您应该能够使用RXTX或javax.comm(depricated)将二进制命令发送到LPT端口。

http://rxtx.qbang.org/wiki/index.php/Using_RXTX

http://rxtx.qbang.org/wiki/index.php/Parallel_Communications