热敏打印机驱动故障排除

3
嘿,大家好。我正在解决通过蓝牙打印时遇到的热敏打印机问题。涉及的打印机是Extech 3750T,软件运行在Windows CE上。驱动程序是在Winsock之上实现的,并使用C++编写。据我所知,连接维护都符合规范。
问题似乎是有时(大约十次中有一次),当打印图像时,打印机就会停止。然后,当发送下一个打印作业时,它会输出一行垃圾(仅一个像素宽)并打印新页面。
驱动程序建立在RTF之上,将RTF命令和图形转换为打印机特定的字符和转义序列。开发人员手册可从此处获得:

http://www.adtech.com.pl/upload/3750T_Developers_Manual.pdf

在这个阶段,我相当确信这不是流量控制问题(除非改变缓冲区大小可能会在某种程度上有所帮助)。

确认的一件事情是,每当打印机出错时,它都会向设备发送一个缺纸控制字符,但那时已经太晚了,无法挽救。

此外,我认为问题是由于在打印文本的同时发送图像引起的。 脏方法只需等待约5秒钟就可以使其消失,但在生产环境中实现这种方法太过笨拙,因为文本的大小(字体大小,重量等)将影响所需的延迟时间。

我想我正在寻找如何解决这个问题的建议,而不是明确的解决方案。

有什么想法吗?

1个回答

4
在经过大约7天的努力后,我得到了打印机制造商的支持,并通过逐行发送图像来解决了问题。这款打印机使用了一种图像压缩机制,其中一个字节代表8个图形位,最多可以重复129次。
我尝试每隔几个字节中断数据流,但没有帮助。我认为这是因为图像不喜欢被分成多个传输。逐行传输(大约72个字节)解决了问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接