可以使用Java Print Service API获取默认系统打印机吗?
我可以使用
获取所有打印机的列表PrintServiceLookup.lookupPrintServices(null, null)
但是如何在系统中选择打印机作为默认? (在下面的屏幕截图中,选中默认打印机(HP Laser Jet))。
答案 0 :(得分:10)
您应该使用PrintServiceLookup
import javax.print.PrintServiceLookup;
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
度Acc。致Javadocs:
lookupDefaultPrintService 找到此环境的默认打印服务。这可能会返回null。如果多个查找服务均指定了默认值,则未精确定义所选服务,但通常会返回平台本机服务而非已安装服务作为默认值。如果没有可清楚识别的平台本机默认打印服务,则默认是第一个以依赖于实现的方式定位。
答案 1 :(得分:1)
PrintService service =
PrintServiceLookup.lookupDefaultPrintService();
答案 2 :(得分:1)
您可以使用PrintServiceLookup.lookupDefaultPrintService
PrintService service =
PrintServiceLookup.lookupDefaultPrintService();
if (service != null) {
String printServiceName = service.getName();
System.out.println("Print Service Name is " + printServiceName);
} else {
System.out.println("No default print service found");
}