我正在尝试打开现金抽屉。需要通过收据打印机发送到抽屉的命令是“chr(27).chr(112).chr(0).chr(100).chr(250)”。有没有一种方法可以通过javascript或其他基于网络的语言发送此命令。我希望仅在某些收据打印期间才打开现金抽屉。
最佳答案
对于背景,请先在此处查看我的答案How to print a receipt through Receipt Printer from Web Page(.aspx)?
您拥有的ESC/P现金提取代码正确无误:http://www.beaglehardware.com/howtoprogramcashdrawer.html
在这里讨论问题:https://code.google.com/p/jzebra/issues/detail?id=134
下载jZebra-现在已演变为qz-print库,将jar文件放在项目目录中,此jzebra mail thread中的第一个方法对我有用:
<form id="form1" runat="server">
<div>
<input type=button onClick="openCashDrawer()" value="Open Cash Drawer">
<applet name="jzebra" code="jzebra.PrintApplet.class" archive="./jar/jzebra.jar" width="100" height="100">
<param name="printer" value="zebra">
</applet>
<script>
function chr(i) {
return String.fromCharCode(i);
}
function openCashDrawer() {
document.jzebra.append(chr(27) + "\x70" + "\x30" + chr(25) + chr(25) + "\r");
document.jzebra.print();
}
</script>
该线程中讨论的base64和appendFile方法对我不起作用,但显然
appendFile(file with raw ESC/P Commands)
和append64(base64)
可以解决“Chr(0)”限制。关于Javascript:有没有一种方法可以发送现金抽屉启动代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3154927/