最近项目中用到打印机打印功能 , 摸索了一两天 , 基本上完成需求开发 , 过程与大家分享一下.
我们使用的打印机是爱普生POS 76 ,找了一下相关的使用手册POS76打印机使用文档.pdf
打印机连接是免驱USB的 , 也就不需要驱动 , 只要找到对应的打印机 ,直接发送指令就行了.
大体操作步骤是:
1、遍历USB设备 ,找到打印机对应的USB设备;
2、连接打印机并监听打印机在线状态;
3、需要的时候调用print打印数据;
具体实现如下:
一、查找USB设备
在安卓下有专门的硬件方法
二、连接找到的设备
三、监听启动一个线程监听设备在线状态
四、发送数据给打印机打印
五、提供打印方法给外部调用
六、具体使用
七、遇到问题
1、打印机乱码问题
我们的代码是UTF-8的,发送给打印机时候,进行了转码GBK ,UNICODE ASK都不行。
绝望之时,看到说明文档上有个长按feed打印出打印机的测试信息,发现测试信息上有写编码GB18030 ,更换编码后解决