使用工具:lodop
样例:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<h2><font color="#009999">演示直接读写端口数据(如发指令到打印设备):</font>
</h2>
<h3><font color="#009999">演示一:利用打印机驱动传递</font></h3>
<p>向打印机发送原始数据的函数格式是: <font color="#0000FF">SEND_PRINT_RAWDATA(strRawData)</font></p>
<p>参数含义:<font color="#0000FF">strRawData:</font>数据或指令值,字符(JS中可用String的fromCharCode方法生成)型。</p>
<p><b>演示如下:</b></p>
数据内容:<br>
<textarea rows="5" id="T1" cols="68">
账单
单号:07874 时间:12/08/03 19:38
桌号:03 人数:8人
收银员:陈智
_______________________
红烧肉 1 288.00
白汁鱼肚 1 284.00
_______________________
总数:572
_______________________
多谢惠顾。请再光临
</textarea>
<p>先选打印设备(可参考<a href="PrintSample7.html">样例七</a>),这里<a href="javascript:MySelect()">弹出窗口选打印机</a>
选择后<a href="javascript:MySendData()">开始发送</a>。
</p>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function MySelect() {
LODOP=getLodop();
LODOP.SELECT_PRINTER();
};
function MySendData() {
LODOP=getLodop();
strData=String.fromCharCode(27,112,1,128,128)+document.getElementById("T1").value;
LODOP.SET_PRINT_MODE("SEND_PRINT_RAWDATA","UTF-8");//UTF-8 UTF-7 UNICODE ANSI UTF-16 UTF-16BE GBK BIG5 EUC-JP
if (LODOP.CVERSION) {
//LODOP.On_Return=function(TaskID,Value){ if (Value) alert("发送命令成功"); else alert("发送命令失败!"); };
LODOP.SEND_PRINT_RAWDATA(strData);
return;
};
if (LODOP.SEND_PRINT_RAWDATA(strData))
alert("发送命令成功!"); else alert("发送命令失败!");
};
</script>
</body>
</html>
效果:
在文本框输入内容,点击开始发送即可打印。
总结:
该方法可以打印销售小票,也可用于其他用途打印。lodop可能会收费,但是不贵,使用该工具可以避免重复的开发工作。