PostScript 打印机驱动程序 (PPD) 中的非标准关键字破坏了与 Ubuntu 打印对话框的集成

PostScript 打印机驱动程序 (PPD) 中的非标准关键字破坏了与 Ubuntu 打印对话框的集成

我最近买了一台新的打印机扫描仪。它是 BrotherMFC-L8850CDW多功能中心。硬件似乎运行良好。制造商为该设备提供了 Linux 版本的打印机驱动程序(PPD 文件)。但是,与 Brother 生产的早期型号的打印机驱动程序不同,此特定型号的打印机驱动程序与 Ubuntu 打印对话框集成得不是很好。

这是从 Evince 3.10.3(Ubuntu 14.04 的默认 PDF 查看器)打开的打印对话框的屏幕截图。

从 Ubuntu Evince 打印 Brother MFC-L8850CDW 打印机的对话框

双面打印选项已禁用。上面的“页面设置”选项卡中禁用了纸张类型、纸张来源、输出托盘和页面排序的选择。但是,下面的“高级”选项卡显示了双面打印选项、纸张类型、纸张来源以及用户可以选择的许多其他选项:

打印对话框中的“高级”选项卡

我通过反复试验确定,由于 PPD 打印机驱动程序文件中使用了非标准关键字,因此“页面设置”选项卡中的双面打印、纸张来源和其他选项被禁用。

例如,这是 PPD 文件中处理双面打印的部分:

*%=== BRDuplex ================================
*OpenUI *BRDuplex/Two-Sided: PickOne
*OrderDependency: 25 AnySetup *BRDuplex
*DefaultBRDuplex: None
*BRDuplex DuplexTumble/Short-Edge Binding: "          "
*BRDuplex DuplexNoTumble/Long-Edge Binding: "          "
*BRDuplex None/Off: "          "
*CloseUI: *BRDuplex

如果我将非标准关键字 BRDuplex 的所有实例替换为标准关键字 Duplex,则双面选项就会在打印对话框的“页面设置”选项卡中正常显示。

用 InputSlot 替换 BRInputSlot 可以修复 Paper Source 选项的问题。用 MediaType 替换 BRMediaType 可以修复 Paper Type 选项的问题,等等。

但是,用标准关键字替换非标准 BR 关键字会破坏与打印机的交互。MFC-L8850CDW 不再支持修改后的 PPD 文件。

据我了解,非标准关键字内置于 MFC-L8850CDW 硬件中。为什么制造商决定使用非标准关键字,而不是在Adobe PostScript 打印机描述文件格式规范超出了我的理解范围。非标准关键字显然破坏了与 Ubuntu 和其他操作系统中标准打印对话框的集成。我看不出使用非标准关键字对用户或制造商有什么好处。

这台打印机不仅 Evince 的打印对话框出现问题。Google Chrome 也不再显示双面打印选项。LibreOffice 无法检测到双面打印选项。在所有这些情况下,我都必须使用“高级”选项卡或设备特定的打印对话框来启用双面打印选项。

问题

现在我的问题来了。有人能建议一种方法来将非标准关键字重新映射到标准关键字,以修复与 Ubuntu 打印对话框的集成吗?也许有一种方法可以编写代码包装器,在稍后将指令发送到打印机时将标准关键字重新映射到设备相关关键字?任何建议、提示和想法都将不胜感激。

相关内容