首页 > 解决方案 > 如何在 Java 中获取 PrintService 描述?

问题描述

如何从 PrintService 获取打印机描述?

for (PrintService p : PrintServiceLookup.lookupPrintServices(null, null)) {
    System.out.println(printService.getAttribute(PrinterName.class));
    // System.out.println(printService.getAttribute(PrinterName.class));
}

9 岁的问题Java 中的扩展打印机信息还没有答案。只有 PrinterName 属性似乎有效。

有什么方法可以获取打印机描述吗?

标签: javaprinting

解决方案


java的解决方案是https://github.com/harwey/cups4j

      CupsClient cupsClient = new CupsClient("127.0.0.1", 631);
         for (CupsPrinter cp : cupsClient.getPrinters()) {
            System.out.println("name" + " " + printer.getName());
            System.out.println("description" + " " + printer.getDescription());
            System.out.println("location" + " " + printer.getLocation());
            System.out.println("url" + " " + printer.getPrinterURL().toExternalForm());
            System.out.println("selected" + " " + printer.isDefault());
         }
      }

推荐阅读