java为什么PrinterState总是返回null?
我无法获取打印机的打印机状态。我已经在Linux和Windows(7)上用不同的打印机(三星、Brother(仅在Linux上)、Zebra等)测试了以下代码。但在任何情况下,PrinterState和PrinterStateReasions对象都为null
private void dumpPrinterState() {
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null); //get printers
for (PrintService printService : printServices) {
log.info("---- printer: " + printService);
log.info("---- state: " + printService.getAttribute(PrinterState.class));
log.info("---- reason: " + printService.getAttribute(PrinterStateReasons.class));
}
}
以下是“我的Windows试用版”的输出:
---- printer: Win32 Printer : ZDesigner KR403
---- state: null
---- reason: null
---- printer: Win32 Printer : Samsung CLP-300 Series
---- state: null
---- reason: null
---- printer: Win32 Printer : Microsoft XPS Document Writer
---- state: null
---- reason: null
---- printer: Win32 Printer : Fax
---- state: null
---- reason: null
有人知道怎么了吗
# 1 楼答案
您可能需要使用toArray()函数。有关如何使用此功能的示例,请参见以下内容: SO printer info
如果这对你有帮助,请告诉我