3

大家好。通过蓝牙打印时,我正在对热敏打印机问题进行故障排除。有问题的打印机是 Extech 3750T,软件在 Windows CE 上运行。该驱动程序是在 Winsock 之上实现的,并且是用 C++ 编写的。据我所知,连接内务管理完全符合规范。

问题似乎是有时(大约十分之一)打印图像时打印机会停止。然后,当发送下一个打印作业时,它将输出一行(一个像素宽)的垃圾并打印新页面。

该驱动程序建立在 RTF 之上,它将 RTF 命令和图形转换为打印机特定字符和转义序列。开发人员手册可从此处获得:

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

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

可以确认的一件事是,每当打印机搞砸时,它都会向设备发送一个缺纸控制字符,但到那时再挽救它已经太晚了。

另外,我认为问题是由于在文本仍在打印时发送图像引起的。像 5 秒这样的 wawiting 肮脏的 hack 似乎让它消失了,但在生产环境中实现它是一种尴尬的方式,因为文本的大小(字体大小、粗细等)会影响所需的延迟量。

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

有任何想法吗?

4

1 回答 1

4

大约 7 天后,我得到了打印机制造商的一些支持,并通过一次发送一行图像来解决问题。这台特定的打印机使用图像压缩机制,其中一个字节代表 8 位图形,并且可以选择重复最多 129 次。

我试过每隔这么多字节就打破数据流,但这没有帮助。我认为这是因为图像不喜欢被分解成多个传输。一次传输一行(大约 72 个字节)解决了这个问题。

于 2009-09-04T06:42:30.097 回答