我试图使用连接到 CUPS (v2.2.1) 的 CUPS4J 监控网络打印机的状态。虽然我没有使用真正的打印机硬件,但是我能够将 ippserver(与 IPP 兼容的打印机模拟器)作为网络打印机连接到已安装和配置 CUPS 的 Debian 机器中的 CUPS。
当我尝试打印打印机的状态时,我在控制台中打印了“空”值而不是状态,如果您有任何想法,请提供帮助。
public static void main(String[] args) throws Exception {
CupsClient cupsClient = new CupsClient("xxxx", 631, "root");
List<CupsPrinter> printers = cupsClient.getPrinters();
printers.forEach(cupsPrinter -> {
System.out.println(cupsPrinter.getName());
System.out.println(cupsPrinter.getPrinterURL());
System.out.println(cupsPrinter.getPrinterState());
System.out.println(cupsPrinter.getPrinterStateMessage());
System.out.println(cupsPrinter.getPrinterStateReasons());
System.out.println(cupsPrinter.getState());
System.out.println(cupsPrinter.getPrinterURL());
System.out.println(cupsPrinter.getDeviceUri());
});
输出:
printer01
http://xxxx:631/printers/printer01
null
null
null
null
http://xxxx:631/printers/printer01
ipp://vxxx:8888/ipp/print
CUPS 服务器输出: