我每天创建数千个 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) 调用实际上发送文件中的字节数。
这些文件有专有的法庭案件信息,所以我不能只附上样本。如果有人有建议,也许我可以使用无意义的数据创建一个类似的文件......
顺便说一句 - 我发现惠普的支持毫无用处,尽管我们为此付出了很多。