package pdfprint;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.PrinterLocation;
import javax.print.attribute.standard.PrinterMakeAndModel;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class FindPrinters {
public static void main(String[] args) {
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
for (PrintService printService : printServices) {
System.out.println("Printer Name: " + printService.getName());
System.out.println("Printer Location: " + getPrinterLocation(printService));
System.out.println("Printer Make and Model: " + getPrinterMakeAndModel(printService));
System.out.println("--------------------------------------------------");
}
}
private static String getPrinterLocation(PrintService printService) {
return printService.getAttributes().toArray()[0] instanceof PrinterLocation ?
((PrinterLocation) printService.getAttributes().toArray()[0]).getValue() : null;
}
private static String getPrinterMakeAndModel(PrintService printService) {
return printService.getAttributes().toArray()[1] instanceof PrinterMakeAndModel ?
((PrinterMakeAndModel) printService.getAttributes().toArray()[1]).getValue() : null;
}
}
java列出本机可以使用的打印机