这是因为没有找到与指定的DocFlavor和属性集相对应的PrintService
。除非您的打印机硬件是最新的,否则可能很难找到支持Postscript的打印机。您可以像这样检查所有支持的DocFlavor:
DocFlavor[] docFalvor = prnSvc.getSupportedDocFlavors(); for (int i = 0; i < docFalvor.length; i++) { System.out.println(docFalvor[i].getMimeType()); }要查找特定的打印服务,您可以执行以下操作:
PrintService prnSvc = null; PrintService[] pservices = PrintServiceLookup.lookupPrintServices(null, null); if (pservices.length > 0) { int ii=0; while(ii < pservices.length) { System.out.println("Named Printer found: "+pservices[ii].getName()); if (pservices[ii].getName().endsWith("YourPrinterName")) { prnSvc = pservices[ii]; System.out.println("Named Printer selected: " + pservices[ii].getName() + "*"); break; } ii++; }


