Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印机可用性_Java - Fatal编程技术网

Java 打印机可用性

Java 打印机可用性,java,Java,在这里,我已编码以获取设备列表,我将检查每个设备的状态 DocFlavor myFormat = DocFlavor.SERVICE_FORMATTED.PRINTABLE; PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); PrintService[] services =PrintServiceLookup.lookupPrintServices(myFormat, aset); System.out.pr

在这里,我已编码以获取设备列表,我将检查每个设备的状态

DocFlavor myFormat = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
PrintService[] services =PrintServiceLookup.lookupPrintServices(myFormat, aset);
System.out.println("The following printers are available");
for (int i=0;i<services.length;i++) {
    PrintService printService = services[i];
    PrintServiceAttributeSet printServiceAttributes = printService.getAttributes();
    PrinterState printerState = 
                      (PrinterState)printServiceAttributes.get(PrinterState.class);
    if (printerState != null){
            System.out.println(services[i].getName() + " is online");
    } else {
            System.out.println(services[i].getName() + " is offline");
    }
}
DocFlavor myFormat=DocFlavor.SERVICE\u FORMATTED.PRINTABLE;
PrintRequestAttributeSet aset=新的HashPrintRequestAttributeSet();
PrintService[]services=PrintServiceLookup.lookupPrintServices(myFormat,aset);
System.out.println(“以下打印机可用”);

对于(int i=0;i我最近在从PrintService获取另一个属性时遇到了相同的问题

事实上,它总是返回null,因为该方法从未在Java类中实现过,这是许多属性的情况


如果您确实想获取这些信息,则必须使用windows打印后台处理程序DLL,或者,如果您的打印机是网络打印机,则必须通过SNMP查询这些信息。

您确定printerState在脱机时为空吗?是,当打印机打开和关闭时,它将返回空值