Java的。获取系统默认打印机

时间:2013-01-24 12:16:40

标签: java printing

可以使用Java Print Service API获取默认系统打印机吗?

我可以使用

获取所有打印机的列表
PrintServiceLookup.lookupPrintServices(null, null)

但是如何在系统中选择打印机作为默认? (在下面的屏幕截图中,选中默认打印机(HP Laser Jet))。

choosed default printer

3 个答案:

答案 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");
}