我在java中实现了一个打印系统。我需要获得打印机状态,所以我以这种方式使用AttributeSet
:
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
AttributeSet attributeSet = service.getAttributes();
for (Attribute a : attributeSet.toArray()) {
System.out.println(a.getName() + ": " + attributeSet.get(a.getClass()).toString());
}
这会使我低于输出(即使打印机关闭或暂停):
printer-name: EPSON LQ-350 ESC/P2
color-supported: not-supported
printer-is-accepting-jobs: accepting-jobs
queued-job-count: 0
但是,我需要更具体的打印机状态,例如我需要知道打印机是关闭还是暂停,还是纸张还可以。如何获得准确的打印机状态?