Android——蓝牙连接打印机以及打印格式

我的第一个工作Android项目,刚刚完成使用手机连接打印机然后打印小票的功能,单位买了一个类似车载的打印机,非常小巧,打印机的卖家附送了开发使用的手机连接打印机的代码,非常方便。

代码已经分享到我的git代码库,

https://github.com/hejiawang/PrintDemo

下载地址:

https://codeload.github.com/hejiawang/PrintDemo/zip/master

下载下来基本就能直接用到项目中了,当然,要根据具体业务修改一下了。。。

 

 

里面还有关于打印格式的工具类,能够直接使用,不过使用的时候要注意  /n  符号,不然打印不出格式,比如这个工具类的第二个方法,

Java代码
  1. /**
  2.      * 排版居中内容(以’:’对齐)
  3.      * 
  4.      * 例:姓名:李白
  5.      *     病区:5A病区
  6.      *   住院号:11111
  7.      * 
  8.      * @param msg
  9.      * @return
  10.      */
  11.     public static String printMiddleMsg(LinkedHashMap<String, String> middleMsgMap) {
  12.         sb.delete(0, sb.length());
  13.         String separated = “:”;
  14.         int leftLength = (LINE_BYTE_SIZE – getBytesLength(separated)) / 2;
  15.         for (Entry<String, String> middleEntry : middleMsgMap.entrySet()) {
  16.             for (int i = 0; i < (leftLength – getBytesLength(middleEntry.getKey())); i++) {
  17.                 sb.append(” “);
  18.             }
  19.             sb.append(middleEntry.getKey() + “:” + middleEntry.getValue());
  20.         }
  21.         return sb.toString();
  22.     }

 

在构建map时,map的值一定要以  \n  结尾,才会打印出相应的格式,、

 

Java代码
  1. LinkedHashMap<String, String> middleMsgMap = new LinkedHashMap<String, String>();
  2.         middleMsgMap.put(“日期  “”  “ + timeData + “\n”);
  3.         middleMsgMap.put(“时间  “”  “ + timeL + “\n”);
  4.         middleMsgMap.put(“里程  “”  “ + mileage + “\n”);
  5.         middleMsgMap.put(“金额  “”  “ + money + “\n”);
  6.         middleMsgMap.put(“余额  “”  “ + balance + “\n”);
  7.         String content = BluetoothPrintFormatUtil.printMiddleMsg(middleMsgMap);
  8.         mService.sendMessage(content + “\n”“GBK”);

发表回复

您的电子邮箱地址不会被公开。