【发布时间】:2012-11-27 23:09:57
【问题描述】:
我每天创建数千个 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) 调用实际上发送文件中的字节数。
这些文件包含专有的法庭案件信息,所以我不能只附上样本。如果有人有建议,也许我可以使用无意义的数据创建一个类似的文件......
顺便说一句 - 我发现 HP 的支持毫无用处,尽管我们为此付出了很多。
【问题讨论】:
-
页面之间的长时间停顿对我来说几乎总是字体问题。你的驱动程序是 PCL5 吗?有时仅使用 PCL5 驱动程序就足以修复它。否则,请更改 pdf 以使用与其他字体相同的字体,而不会永远使用。
-
没有什么真正有用的补充,因为这是一个相当晦涩的话题,但是您是否将问题隔离到打印机:即直接将文档发送到打印机而不使用打印服务器/特殊的后台处理程序/其他软件在中间。如果问题仍然存在,则可能是驱动程序错误(您可以尝试更新或回滚),如果不是,则说明您的设置中存在问题(您可以主动采取措施来修复它。)