java热敏POS打印机编程

来源:互联网 发布:mysql数据表拆分 编辑:程序博客网 时间:2024/06/12 01:09

今天有时间,就整理一下关于java控制热敏POS打印机的一些注意事项,不然怕以后会忘记。

所谓热敏POS打印机,就是小超市的小票打印机。对于此打印机,我也只是半懂而已,如以下说的不对的地方,还请指正。

POS打印机的指令集好像来自于日本的标准。 因为我使用的几款POS打印机,都是能识别日本标准的指令的。

看打印机指令集的时候,相信很多人看不懂。但其实很容易理解的,举以下例子:

ESC c 4 n 选择打印纸传感器以停止打印[格式] ASCII码 ESC c 4  n十六进制码     1B 63 34 n十进制码       27 99 52 n[范围] 0 ≤ n ≤255

如上指令可以用来停止打印。这个指令怎么理解呢?  ESC这个指令如果用十六进制码表示,那么指令为1B(或者C的表式方法0x什么),十进制表示就是27. 后在依次推下去,n是可变的变量,例如n在十进制中,如果值为0表示禁止打印,1表示允许。 具体n的指令为下图:

看懂了吗?

那么我这里写一个java 切纸指令的方法,十进制表示:

 

/**切纸命令*/public static byte[] getCutPaperByte(){byte [] buffer = new byte[5];buffer[0]='\n';//命令必须是单行buffer[1]=29;buffer[2]=86;buffer[3]=66;buffer[4]=1;return buffer;}


这里说明一下: 传给打印机的指令必须在一行的开头,否则将不能识别为指令。指令可加入到要打印文本的末尾,能小票机自动切纸,是不是很人性化呢? 还有更多好玩的指令,如警告声、没纸的时候提示等等。

另外android手机、平板控制POS打印机的的指令也是一样的哦。 呵呵

更加详细的已放入自己网盘

原创粉丝点击