HLBluetoothDemo
HLBluetoothDemo copied to clipboard
你的demo打印不全啊,只能打印出一个title,其他都打印不了啊
如果你是Xprinter牌子的话,我目前还没办法,那个打印机用原始指令打印也出问题。
您好,我用的禾硕的打印机,也是同样的问题,只有title和下面的一小段,请问也是这个情况吗?
你可以问下他们有没有自己的SDK,我咨询过佳博的技术支持,因为不同型号的蓝牙模块不一样,然后也有一些功能差别,他们给的答案是用他们的SDK。
兄弟,你是说用Xprinter牌子的打印机现在就没有办法了吗,你试过他们官网给的使用手册上的命令么?
我的也是打印出一半一半乱码,到一行就一定乱码,有解决方案吗
你可以对比一下,我用的就是标准的ESC/POS指令的16进制。佳博的技术人员也说了,他们的打印机内部做了一些设置,但是不告知外人,所以只能用他们的SDK了。
佳博 58MBIII 这个打印机 ,我也是被折腾死了。最后 还是必须要用他们的 sdk 才能打印。但是 他们的 sdk 把 扫描连接蓝牙设备的方法 都封装到了controller 里面,感觉 用了他们的 sdk 就不好兼容其他品牌了,非常坑爹。。。
这个东西,因为有蓝牙打印机的开发商,他们各自为营,对打印机的设置封装,导致很难统一;需要一个做打印机嵌入式开发的人来联调,太麻烦了。目前也只能考虑用官方SDK了,不过你可以尝试跟这个作者沟通一下,他应该是自己开发的打印机然后卖打印机的,但是我跟他沟通,他不太愿意告诉我适配的细节。😞
今天也在 调适佳博的打印机,看了你的demo比佳博官方的demo好多了。测试时 在ios7下打印一切正常,到ios8-9下 就出来问题。不知道是不是转data的问题,在ios7下 CGContextSetInterpolationQuality: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update. 有方法失效的警告,在ios8 下就没有。折腾了半天,下班了,明天继续。
这个 demo 在 ios7下是没问题的,我刚开始也在 ios7下跑了挺好,好开心,结果拿到 ios9就出问题了。折腾了好几天,他们 sdk 技术也明确做了些处理的。所以只能用他们的 sdk
测试了下 在ios9下 用你的demo打印图片不成功,打印文字 超过60来个汉字也会出乱码。因为我们的小票要求比较简单,只有文字,我用分段打印的方法,你的demo也可以正常工作,就是怕以后有需求调整,打图片就完蛋了。猜测是不是 ios8以后的 蓝牙传值方法 底层有改变。不然ios7可以正常工作,8就不行。应该是对每次传值的大小做了限制吧。
这个demo,我用5C 和 6+ 在9.3测试过,这边两台不同型号的打印机一台是正常打印,一台没反应或者乱码。图片就是我用5C 9.3打印出来的,也许与苹果的API有关系,但是与他们打印机内部的设置应该也有关系。
统一回复:现在打印乱码和打印没反应的原因找到了,新的代码里给出了展示示例代码。
最新的demo确实解决了打印文字的问题,不过打印图片和条形码还是会出现中断的情况,目测还是由于转换图片之后数据太大导致打印机脱机了。 另外打条形码时,打印机会卡住一段时间,感觉是转换数据导致线程阻塞了,是不是需要这里开一条线程?
@muermaru 你是打印机图片和条形码卡住不打印了,还是打印明显顿挫了一下,然后才慢慢打印出来的?前者还是后者呢?
前者,图片和条形码打了一点就不出了,跟之前是一样的,不过如果不打图片只打文字的话是正常的
@muermaru 只有条形码和图片有问题?二维码正常么?
@muermaru 已经修复了。
@Haley-Wong 试了下,条形码正常了,但是两种方式的二维码以及图片都没办法正常打印。打到二维码之前打印机会停一下,然后就不打了。 如果同时打印两种方式的二维码的话,也是会停一下,然后就跳过二维码的打印,只打印出文字来
@muermaru 可能各个打印机的每次发送数据限制长度不一样,有个人也遇到二维码打印不出来的情况,修改146为其他值就OK了。建议你也测试下你那个型号的打印机最长能打印多长的data,修改下长度限制。
二维码打印成了黑条