SEBLEPrinter icon indicating copy to clipboard operation
SEBLEPrinter copied to clipboard

部分打印机乱码

Open sally1021 opened this issue 9 years ago • 20 comments

使用demo,同一型号的不同打印机,有的正常,有的乱码。找不出乱码规律。 机型:芯烨的58IIH 1 2

sally1021 avatar May 10 '16 02:05 sally1021

这也行?我们这边打印机目前就一台,无法重现你的问题,估计还是图片转点阵图那里的问题,你先试试看本地的小图标图片OK不

0xhellohaley avatar May 10 '16 05:05 0xhellohaley

我没打印图片呢,只是文本

sally1021 avatar May 10 '16 06:05 sally1021

测试时,打五行普通文本正常,到第六行就乱码。

  • 打印六行的代码如下 2
  • 打印文本的代码,注释掉了字号的设置(排除干扰) 4
  • 正常打印出来应该的样式是: img_0983
  • 无论正常机子还是乱码机子,代码最后输出的data一直 1
  • 将机子转为16进制打印,正常机子打印如下 img_0979
  • 将机子转为16进制打印,乱码机子打印如下(从圈出来的地方开始,正常机子和乱码机子16进制开始不一样) img_0978

sally1021 avatar May 10 '16 06:05 sally1021

你对比出来打印出乱码的机器的16进制确实错了,那里0A表示换行,1B 61 01表示用最小的字体,而乱码的打印机变成36 61 01,打印机识别不了这个指令的意思。 建议你在打印前将NSData转换成16进制后在Xcode控制台打印出来,看是否正确,如果错误说明拼接的NSData就出错了;如果控制台打印出来是正确的,蓝牙打印机打印出来就变成错误的16进制,我猜测是打印机有问题。 如果是上面猜测的打印机问题,建议你看下这篇文章http://www.jianshu.com/p/2d624044a27b,然后徒手拼接一下要打印的NSData,再确认一下蓝牙打印机是否有问题。

0xhellohaley avatar May 10 '16 07:05 0xhellohaley

Portable Printer 淘宝买的 300多 打印出来乱码 @Halley-Wong @sally1021

bianxiang avatar May 24 '16 02:05 bianxiang

淘宝换了一台机子 还是乱码 求救 图片上传不了

bianxiang avatar May 24 '16 02:05 bianxiang

1

bianxiang avatar May 24 '16 03:05 bianxiang

因为我这里没有各种型号的打印机,暂时还无法得知是什么原因😞 。你看下打印机的指令集,建议用ASCII码试试。

0xhellohaley avatar May 25 '16 00:05 0xhellohaley

image 请问是这样吗

bianxiang avatar May 25 '16 02:05 bianxiang

不是,是将所有的0x0A,0x1B,等这样的换成ASCII码,不是字符串的编码,字符串编码要看你们打印机是用什么编码,一般都是GB18030_2000那个格式

0xhellohaley avatar May 27 '16 01:05 0xhellohaley

将所有的0x0A,0x1B,等这样的换成ASCII码 还是乱码哎

bianxiang avatar Jun 02 '16 04:06 bianxiang

建议你找下客服,一般做蓝牙打印机的都有SDK,我也是跟他们客服,技术客服,公司技术支持,沟通了一圈,才知道他们有SDK, 他们SDK里做了一些处理。客服不知道的话,建议你打官网售后电话。

0xhellohaley avatar Jun 03 '16 02:06 0xhellohaley

我对比了一下别的可以打印的三方 发现你跟他的区别是 你用的appendBytes 人家用的appendData

bianxiang avatar Jun 12 '16 02:06 bianxiang

我里面部分用的appendBytes 部分用的appendData,这个应该不是关键,不过还是谢谢。稍后我尝试全部改为appendData试试看。

0xhellohaley avatar Jun 12 '16 02:06 0xhellohaley

您github看看那个xbprint swift写的 我不太懂swift 对比不出来你们2个的主要区别 不过这个确实可以打印~~ 封装可能没你的好

bianxiang avatar Jun 12 '16 02:06 bianxiang

我对比,经过多次测试,测试结果,有些型号的打印机可能对一次写入的数据大小有限制,我将那些要打印的数据,一行writeValue一次,文字就可以正常打印出来了。二维码和条形码估计不能用本地生成图片发送的形式了。明天更新库和Demo。

0xhellohaley avatar Jun 12 '16 07:06 0xhellohaley

哈哈 好像的确是这个原因 期待您的修复 您QQ多少? 咱们加个好友多多交流 提提意见哈

bianxiang avatar Jun 12 '16 08:06 bianxiang

已经更新了代码,提供了分多次打印的示例代码。

0xhellohaley avatar Jun 13 '16 05:06 0xhellohaley

关于打印机的亮红灯的时候,回调还是显示成功,能检测到打印机亮红灯的时候的状况吗

weizhangCoder avatar Apr 03 '18 09:04 weizhangCoder

121555031616_ pic_hd 给出的事例里边,第一次打印,最后的二维码打不完,再打一次,开头就变成??????????????????????????????????????问号了

HanYaZhou1990 avatar Apr 12 '19 01:04 HanYaZhou1990