在
PrintUtility下面创建类,将其导入,然后
PrintUtility.findPrintService("name_of_my_printer");在知道打印机名称的情况下尝试调用;如果您不知道可以访问哪些打印机,请调用PrintUtility.getPrinterServiceNameList();一个
List包含所有可行的注册打印机名称的。
也可以查看我对这个SO问题的答案以获取更多详细信息:
package com.stackoverflow.print;import java.awt.print.PrinterJob;import javax.print.PrintService;import java.util.List;import java.util.ArrayList;public final class PrintUtility { public static PrintService findPrintService(String printerName) { printerName = printerName.toLowerCase(); PrintService service = null; // Get array of all print services PrintService[] services = PrinterJob.lookupPrintServices(); // Retrieve a print service from the array for (int index = 0; service == null && index < services.length; index++) { if (services[index].getName().toLowerCase().indexOf(printerName) >= 0) { service = services[index]; } } // Return the print service return service; } public static List<String> getPrinterServiceNameList() { // get list of all print services PrintService[] services = PrinterJob.lookupPrintServices(); List<String> list = new ArrayList<String>(); for (int i = 0; i < services.length; i++) { list.add(services[i].getName()); } return list; } private PrintUtility() {}}


