I am trying to get some information about printers on my system.
On Windows and Linux, only the PrinterName attribute is PrinterName with this code:
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null,null); for( PrintService printService : printServices ) { log.info("Found print service: "+printService); log.info(printService.getAttribute(PrinterName.class)); log.info(printService.getAttribute(PrinterLocation.class)); log.info(printService.getAttribute(PrinterMakeAndModel.class)); log.info(printService.getAttribute(PrinterMessageFromOperator.class)); log.info(printService.getAttribute(PrinterMoreInfo.class)); log.info(printService.getAttribute(PrinterMoreInfoManufacturer.class)); log.info(printService.getAttribute(PrinterState.class)); log.info(printService.getAttribute(PrinterStateReasons.class)); log.info(printService.getAttribute(PrinterURI.class)); }
After using the toArray() function on it ...
log.info("Found print service: "+printService); for( Attribute a : printService.getAttributes().toArray() ) { log.info("* "+a.getName()+": "+a); }
... this is the result:
Found print service: Win32 Printer: Brother MFC-9420CN BR-Script3
* color-supported: supported
* printer-name: Brother MFC-9420CN BR-Script3
* printer-is-accepting-jobs: accepting-jobs
* queued-job-count: 0
How to get additional information , for example, a comment on a printer?
Daniel
source share