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);
}