可以使用 Java Print Service API 获取默认系统打印机吗?
我可以使用获取所有打印机的列表
PrintServiceLookup.lookupPrintServices(null, null)
但是如何在系统中将打印机选为默认打印机?(在下面的屏幕截图中,默认打印机被选中(HP Laser Jet))。
你应该使用PrintServiceLookup
import javax.print.PrintServiceLookup;
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
会计。到 Javadocs:
lookupDefaultPrintService查找此环境的默认打印服务。这可能会返回 null。如果多个查找服务每个都指定一个默认值,则选择的服务不是精确定义的,而是平台原生服务,而不是已安装的服务,通常作为默认值返回。如果没有明确可识别的平台原生默认打印服务,则以实现依赖的方式将默认设置为第一个。
您可以使用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");
}
PrintService service =
PrintServiceLookup.lookupDefaultPrintService();