有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    您可能需要使用toArray()函数。有关如何使用此功能的示例,请参见以下内容: SO printer info

    如果这对你有帮助,请告诉我