我正试图打开现金抽屉。需要通过收据打印机发送到抽屉的命令是“chr(27).chr(112).chr(0).chr(100).chr(250)”。有没有办法通过javascript或其他基于Web的语言发送此命令。我希望现金抽屉只能在特定收据打印期间打开。
答案 0 :(得分:4)
有关背景,请先在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
POS world表示踢出代码为:1B 70 00 40 F0,但是“00” 不起作用(这是网络浏览器的限制)
此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)”限制。