各位大虾好,麻烦各位有力的出力,有智慧的出智慧,有捧场的捧捧场了
我通过一个ActiveX插件,实现了在网页上连接Com口通讯,现在我的需求是,通过Com口发送数据到一斑马手持打印机上,打印数据,在C#应用程序上,已经实现了,可以正确打印,实现代码如下:
//需要打印的内容
String sendInfo= "! 0 200 200 660 1\r\n" + "JOURNAL\r\n"
+ "CONTRAST 0 \r\n" + "SPEED 4 \r\n"
+ "PAGE-WIDTH 600 \r\n" + "ENCODING
GB18030 \r\n"
+ "SETMAG 1 1" + "SETBOLD 0"
+ "TEXT GBUNSG24.CPF 0 30 30 测试测试:"
+ "1号测试测试"
+ "\r\n"
+ "TEXT GBUNSG24.CPF 0 30 60 测试测试:"
+ "201201311160001"
+ "\r\n"
+ "TEXT GBUNSG24.CPF 0 30 90 测试测试:"
+ "1020402-011000"
+ "\r\n"
+ "TEXT GBUNSG24.CPF 0 30 120 测试测试:"
+ "HJ125测试测试"
+ "\r\n"
+ "TEXT GBUNSG24.CPF 0 30 150 测试测试:"
+ "98"
+ "("
+ "个"
+ ")"
+ "\r\n"
+ "TEXT GBUNSG24.CPF 0 30 180 测试测试:"
+ "测试测试"
+ "\r\n"
+ "TEXT GBUNSG24.CPF 0 30 210 测试测试:"
+ "2013-11-16 14:53:53"
+ "\r\n"
+ "TEXT GBUNSG24.CPF 0 30 240 打印时间:"
+ "2013-11-16 14:53:55"
+ "\r\n"
+ "SETMAG 2 2 \r\n"
+ "SETBOLD 1\r\n"
+ "TEXT GBUNSG24.CPF 0 300 350"
+ "测试数据"
+ "\r\n"
+ "TEXT GBUNSG24.CPF 0 280 400 "
+ "13888888888"
+ "\r\n"
+ "B QR 30 300 M 2 U 10 \r\n"
+ "MA,"
+ "123"
+ "|"
+ "测试测试"
+ "\r\n"
+ "ENDQR\r\n"
+ "Form\r\n" + "PRINT\r\n";
System.Text.Encoding getEn = System.Text.Encoding.GetEncoding("GB2312");
//发送打印内容 ,SpQrCode为应用程序上的sericalPort控件
SpQrCode.Write(getEn.GetBytes(sendInfo.ToString()), 0, getEn.GetBytes(sendInfo.ToString()).Length);
问题:
现在在网页上,我依葫芦画瓢,在js里,也将
字符串转换成字节流
var bytes = [];
for (var i = 0; i < sendInfo.length; ++i) {
bytes.push(sendInfo.charCodeAt(i));
}
//调用发送方法,ComAxCtrl为网页上的com通讯控件
document.getElementById('ComAxCtrl').CommSend(bytes);
我这个方法执行后,打印机响应了,可是打印出的是一团乱码,所以可能是我转成字节流的方法有问题,麻烦各位帮小弟分析分析,感激涕零
