PDFBox: Jak wydrukować pdf z określoną drukarką?

Chcę używać PDFBox do drukowania plików PDF utworzone przez iText. Próbowałem tego z powodzeniem za pomocą klasy PDDocument i jej metody print (). Dokumentację można znaleźć tutaj:http://pdfbox.apache.org/apidocs/.

(Używam tego kodu :)

public static void printPDF(String fileName)
        throws IOException, PrinterException {
    PDDocument doc = PDDocument.load(fileName);
    doc.print();
}

Metoda print () działa świetnie, alejest jeden problem: gdy muszę wydrukować wiele plików, metoda prosi mnie o wybranie drukarki dla każdego z dokumentów ..

Czy jest jakiś sposób, aby ustawić drukarkę tylko raz?

Do wyboru drukarki mogę użyć tego kodu, na przykład:

public static PrintService choosePrinter() {
    PrinterJob printJob = PrinterJob.getPrinterJob();
    if(printJob.printDialog()) {
        return printJob.getPrintService();          
    }
    else {
        return null;
    }
}

Z góry dziękuję

Rozwiązanie:
public static PrintService choosePrinter() {
    PrinterJob printJob = PrinterJob.getPrinterJob();
    if(printJob.printDialog()) {
        return printJob.getPrintService();          
    }
    else {
        return null;
    }
}

public static void printPDF(String fileName, PrintService printer)
        throws IOException, PrinterException {
    PrinterJob job = PrinterJob.getPrinterJob();
    job.setPrintService(printer);
    PDDocument doc = PDDocument.load(fileName);
    doc.silentPrint(job);
}

questionAnswers(5)

yourAnswerToTheQuestion