1

我每天创建数千个 PDF 文件,并使用带有 Prawn 的 Ruby on Rails 应用程序在一组 HP-4515 打印机上打印它们。经过几年的生产打印,今天我注意到另一个 HP 异常:一个简单的 47kB 10 页表格文件导致 HP 打印机在页面之间暂停几秒钟。(表格不跨页)。

我有一个自定义打印后台处理程序,可确保从呼叫中心的提交中连贯地打印某些文档包,并且该后台打印程序记录有多少字节写入打印机的端口 9100 套接字。奇怪的是,这个 47kB 的文件记录了 6,442kB 的发送字节数(137 次!),这需要 71 秒。大多数 50kB 文件的套接字写入只需要几毫秒,除非打印机得到备份(我有几种限制文件写入的技术,以避免打印机陷入困境,从而提高吞吐量。这种限制只会延迟文件之间,而不是文件内部)。

多个页面是使用 Prawn 的@pdf.start_new_page 创建的。在 OSX 的 Skim 或 Preview 中查看 PDF 并没有什么意外。

我的其他约 100 个 PDF 文件类型都不会导致这种奇怪的打印机暂停,尽管几乎所有其他文件类型都是单页的。

所有其他 @socket.write(str) 调用实际上发送文件中的字节数。

这些文件有专有的法庭案件信息,所以我不能只附上样本。如果有人有建议,也许我可以使用无意义的数据创建一个类似的文件......

顺便说一句 - 我发现惠普的支持毫无用处,尽管我们为此付出了很多。

4

1 回答 1

0

我严重怀疑您的 HP 打印机是否能够直接使用 PDF 文件。

我怀疑您所谓的“自定义后台处理程序”会默默地将 PDF 文件转换为 PCL 或 PostScript(就像 CUPS 所做的那样),以便为打印设备提供一种可消化的数据格式。

很可能是这个转换后的数据(PCL、PostScript 等)会产生 6.442 kB 的字节发送到打印机。

为了验证或调试这种情况,您应该使用一些可用的技术来捕获发送到打印机的实际数据......

于 2012-11-28T18:06:23.283 回答