我正在尝试打开现金抽屉。需要通过收据打印机发送到抽屉的命令是“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/

10-12 13:21