大家好。通过蓝牙打印时,我正在对热敏打印机问题进行故障排除。有问题的打印机是 Extech 3750T,软件在 Windows CE 上运行。该驱动程序是在 Winsock 之上实现的,并且是用 C++ 编写的。据我所知,连接内务管理完全符合规范。
问题似乎是有时(大约十分之一)打印图像时打印机会停止。然后,当发送下一个打印作业时,它将输出一行(一个像素宽)的垃圾并打印新页面。
该驱动程序建立在 RTF 之上,它将 RTF 命令和图形转换为打印机特定字符和转义序列。开发人员手册可从此处获得:
http://www.adtech.com.pl/upload/3750T_Developers_Manual.pdf
在这个阶段,我相当确信这不是流量控制问题(除了更改缓冲区大小可能会有所帮助)。
可以确认的一件事是,每当打印机搞砸时,它都会向设备发送一个缺纸控制字符,但到那时再挽救它已经太晚了。
另外,我认为问题是由于在文本仍在打印时发送图像引起的。像 5 秒这样的 wawiting 肮脏的 hack 似乎让它消失了,但在生产环境中实现它是一种尴尬的方式,因为文本的大小(字体大小、粗细等)会影响所需的延迟量。
我想我正在寻找有关如何解决这个问题的建议,而不是明确的解决方案。
有任何想法吗?