首页 > 解决方案 > 无法使用 cups4j 从杯子 2.0.1 中获取纸张颜色

问题描述

我目前正在将 Cups 版本 1.2.4 用于打印应用程序。一项强制性功能是阅读纸张颜色(白皮书、蓝皮书……)。这是通过使用名为 jipsi 的旧打印库读取 mediaSupported 标记来完成的。

打印应用程序现在将使用新的 CUPS 版本 2.0.2 和打印库 Cups4j 进行更新。如果我尝试使用 mediaSupported 标记读取纸张颜色,结果集会输出我的纸张尺寸,例如“iso_b4_250x352mm”,而不是我需要获取的纸张颜色。Cups4j 为打印机提供的其他数据也不包括纸张颜色。 Cups4j 打印机信息新杯子

如果我使用旧的 Cups 版本 1.2.4 和 cups4j,mediaSupported 标签包含我需要获取的纸张颜色。 Cups4j 打印机信息老杯子

然而,新 Cups 的网络界面列出了我需要访问的纸张颜色。 Cups Web 界面的图片

现在我的问题是:有没有什么办法可以得到纸张的颜色,也许是直接询问 IPP 协议?

标签: cupscups4j

解决方案


IPP 属性media-color-supported包含打印机支持的介质颜色。

您可以尝试使用此C代码来查看 media-color-supported 是否包含所需的值。或者可能是根据您的屏幕截图将值存储在支持媒体类型的 IPP 属性中。

虽然我不熟悉 cups4j,但 cups4j 中存在一个类似的类获取打印机属性。


推荐阅读