效果图如下

非常感谢 Haley_Wong 的帮助

文章

http://www.jianshu.com/p/90cc08d11b5a

github 地址

https://github.com/Haley-Wong/HLBluetoothDemo

https://github.com/Haley-Wong/SEBLEPrinter

csdn 下载地址

hlbluetoothDemo     SEBLEPrinterDemo

HLBluetoothDemo介绍

目前测试了三个型号的打印机:佳博 Gp-58MBIII和GP58MBIII和芯烨 XPrinter某型号,已可以正常打印文字和二维码。
对比了佳博和芯烨的编码使用手册,它们使用的命令都是一样的。如果你用的不是这另个品牌的打印机,最好先对比一下使用的指令一致。

该项目中包含两个部分的工具类HLBluetooth 和HLPrinter,蓝牙操作和打印小票功能。

如果只是做蓝牙打印机打印小票的功能,可以看我的另一个工程SEBLEPrinter

因为系统的蓝牙操作库是用delegate实现的,步骤比较繁多,操作很零散,需要写一堆的代理方法,特别麻烦 
所以我用block方式重写了,蓝牙管理的所有代码在HLBluetooth目录中。

又因为项目中要用蓝牙控制打印机打印下票,我又把蓝牙打印机的操作封装了一下,所有代码在HLPrinter目录下

SEBLEPrinter

iOS 蓝牙打印机库,侧重于打印部分,弱化蓝牙操作。

更新

添加了预览的功能。
更新代码,修复一次打印的数据过多导致打印乱码的问题。解决方案,在写入前将数据拆分,然后分多次写入。
当然也可以按照方式三,分多次打印。
demo中已经给出分多次打印的示例代码。

iOS Bluetooth 打印小票相关推荐

  1. Android集成佳博热敏打印机打印小票功能

    一.说明 最近公司项目需要做打印机打印小票功能,首先公司买了一个佳博小票打印机作为测试用机.然后在开发的过程中也遇到一些坑,在此记录一下. 二.集成过程 1. 下载开发文档 首先需要去其官网下载SDK ...

  2. Android 蓝牙打印小票与WiFi打印小票两种打印方式的实现(带有图片和二维码)

    转载至: https://blog.csdn.net/u011056653/article/details/74308254 最近在做小票打印这块,项目需求是蓝牙和WiFi两种都要实现,开始做的时候也 ...

  3. Web使用热敏打印小票(IE环境)

    概述 在html页下使用Epson P60II 热敏纸下打印小票,使用的打印方案为调用window.print(). 代码实现 1.定义窗体,设置宽度和高度 <body onload=" ...

  4. 自己整理出来的java实现打印机打印小票

    //实现Printable接口 用于创建打印内容 public class UserTicket implements Printable {private String name1;private ...

  5. Android集成佳博热敏打印机打印小票商品名称换行问题

    一.说明 在打印小票的时候,商品名称一行显示不下需要折行打印,但是这个折行又不是放在末尾,到头后再折回来接着打印,该怎么办呢 ? 二.思路 大体的思路就是将商品名称切割成最大不超过一定长度的若干个字符 ...

  6. android连接小票打印机,打印小票数据的两种模式

    为了开发android无线点餐系统,需要用到打印小票任务,根据网上查找资料所得,学习了两种方法,一种为通过tomcat服务连接服务器所连接的打印机打印,一种为直接连接网络打印机打印 一.通过tomca ...

  7. Android蓝牙打印小票,仿美团外卖小票打印

    这个一个Android蓝牙打印小票demo,类似美团外卖小票打印 自适应排版小票格式,一行两列和三列轻松搞定,文本长短不用愁 先看一下效果图: demo里主要是使用汉印打印机进行蓝牙小票打印,它还支持 ...

  8. vue项目使用LODOP打印小票功能

    毕业后第一份工作是做后台管理系统的,项目中要求有打印小票功能,然而我并不知道,该怎么写,百度了很多.一开始在网上查到很多都在用electron+vue我以为我可以用这个呢,搞了两天,才发现这是做桌面软 ...

  9. C# 打印小票 POS

    C# 打印小票 POS 最近在写一个餐饮的收银系统,以前从来没有碰过打印机这玩意.感觉有些无从下手,在前面做报表时,总想找第三方的控件来用用,结果始终不行没搞定.没研究透,催得急没办法还是的动手自己写 ...

最新文章

  1. 《评人工智能如何走向新阶段》后记(再续25)
  2. python类定义的讲解_python类定义的讲解
  3. Java的知识点31——封装拷贝、封装释放、实现放大器对声音的放大功能
  4. 【Vue】 vue-Router children 子组件空白显示,没有内容
  5. 两个Fragment之间如何传递数据
  6. c# 读取txt方法
  7. python中的array函数作用_Python中的Array | 数组2(简介和功能)
  8. RECOLL检索软件测试工资,Recoll桌面全文搜索工具
  9. 加密电子邮件是最安全高效的工作通信方式
  10. Mac下Eclipse SVN 更换账号
  11. 关于fork()父子进程返回值的问题
  12. RRC 常用名词解释
  13. 主权数字货币给世界银行业敲响警钟
  14. 关于Iphone 4 如何用itunes备份短信等设置
  15. 2015年总结与感悟
  16. Photoshop(4)做海报的心得
  17. 百度云资源下载链接获取
  18. 输入一个整数,判断这个数是否为素数,(素数是除1以外只能被1和他本身整除的自然数)
  19. Ubuntu解决搜狗输入法乱码
  20. 配置Microsoft的包存储库时报错“不支持 ‘i386’ 体系结构解决办法”

热门文章

  1. maximum number (256) of shader keywords exceeded unity的报错解决方法
  2. 计算机毕业设计android的个人理财记账app(源码+系统+mysql数据库+Lw文档)
  3. 第三章第三十题(当前时间)(Current time)
  4. 【数据结构起航】:衡量算法的好坏--时间空间复杂度
  5. iOS中实现多线程的技术方案
  6. Java(110):非对称加密RSA的使用(KeyPair生成密钥)
  7. 数据库——MySQL(一)(数据库常用命令、数据类型、创建表与修改表结构、约束、约束修改添加)
  8. MetaMask获取测试币
  9. 码云图床php,PHP 脚本实现 Markdown 文章上传到七牛图床
  10. vue-echarts画深度图