我正试图打开现金抽屉。需要通过收据打印机发送到抽屉的命令是“ chr(27).chr(112).chr(0).chr(100).chr(250)”。有没有一种方法可以通过javascript或其他基于网络的语言发送此命令。我希望仅在某些收据打印期间才打开现金抽屉。
对于背景,请首先在此处查看我的答案。如何通过收据打印机从Web页(.aspx)打印收据?
您拥有的ESC / P现金提取代码正确无误:http : //www.beaglehardware.com/howtoprogramcashdrawer.html
在这里讨论问题:https : //code.google.com/p/jzebra/issues/detail?id=134
POS世界表示启动代码为:1B 70 00 40 F0,但是“ 00”将不起作用(这是Web浏览器的限制)
下载jZebra-现在它已演变为qz -print库,将jar文件放在项目目录中,并且此jzebra邮件线程中的第一个方法对我有用:
<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>
Run Code Online (Sandbox Code Playgroud)
在该线程讨论的Base64和appendFile方法并没有为我工作,但显然appendFile(file with raw ESC/P Commands)并append64(base64)做变通方法“CHR(0)”的限制。