我开发了一款用于资产管理的软件,可以打印自己的条形码标签,该软件在带有 CUPS 的 macOS 上完美运行,但我想在生产目的中使用带有 Ubuntu 的 Intel NUC。
我使用的打印机是 Brother P-Touch 标签打印机,它们大致相似,我感兴趣的具体型号是 PT-P900W(Wi-Fi + USB)和 PT-P950NW(以太网、Wi-Fi + USB)。
使用我的软件在 macOS 上打印效果很好,它会生成 PDF 并使用 IPP 将其发送到 macOS CUPS 服务器,然后使用 LPD 将其发送到打印机。然而,在 Ubuntu 上同样的设置可以正常工作,但打印质量很差。
我尝试与 Brother 合作,但他们无法解决这个问题,因为他们说软件应该能够进行打印质量设置。我同意这个观点,所以我使用 IPP 获取了所有打印机设置,并发现支持哪些打印功能并尝试更改它们,我注意到 macOS 上的默认分辨率是 360dpi,而在 Ubuntu 上是 300dpi,所以我尝试更改它,但打印结果相同。
我已经阅读了 PPD 文件,它有一个注释掉的解决方案部分,如果取消注释就会导致打印机停止工作。
*%==== Resolution Features =================================
*%OpenUI *Resolution/Resolution: PickOne
*%OrderDependency: 14 AnySetup *Resolution
*%DefaultResolution: Standard
*%Resolution Standard/360 X 360 dpi (Standard): " "
这很可能是驱动程序问题,但我无法弄清楚如何修复 PPD 以启用设置分辨率,并且我不清楚 PPD 是否是如何与打印机通信的定义,或者仅仅是 GUI 选项,因为其中似乎没有关于如何与打印机通信的代码。
总结:
- 我正在从 Ubuntu/CUPS 打印到 Brother PT-P950NW,但出现输出质量差的问题。
- 我有一个可以运行并测试的软件,它使用 IPP 向 CUPS 发送矢量 PDF 文件 - 质量不应该成为问题,它可以在 macOS 上运行。
- macOS PPD 和 Linux PPD 之间实现的功能有明显差异,包括分辨率设置为 300 dpi,而不是 Linux/macOS 的 360 dpi。
有人能帮我解决这个打印机质量问题吗?