PDFBox: Como imprimir pdf com impressora especificada?
Eu quero usar o PDFBox para imprimir arquivos PDF criado pelo iText. Eu tentei isso com sucesso com a classe PDDocument e seu método print (). Você pode encontrar documentação aqui:http://pdfbox.apache.org/apidocs/.
(Eu estou usando este código :)
public static void printPDF(String fileName)
throws IOException, PrinterException {
PDDocument doc = PDDocument.load(fileName);
doc.print();
}
O método print () funciona muito bem, masHá um problema: Quando eu preciso imprimir vários arquivos, o método me pede para selecionar uma impressora para cada um dos documentos.
Existe alguma maneira de definir a impressora apenas uma vez?
Para a seleção de impressoras, posso usar este código, por exemplo:
public static PrintService choosePrinter() {
PrinterJob printJob = PrinterJob.getPrinterJob();
if(printJob.printDialog()) {
return printJob.getPrintService();
}
else {
return null;
}
}
desde já, obrigado
Solução: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);
}