我想使用 PDFBox 打印由 iText 创建的 PDF 文件。我已经用 PDDocument 类及其方法 print() 成功地尝试了这个。您可以在此处找到文档:http: //pdfbox.apache.org/apidocs/。
(我正在使用此代码:)
public static void printPDF(String fileName)
throws IOException, PrinterException {
PDDocument doc = PDDocument.load(fileName);
doc.print();
}
print() 方法效果很好,但是有一个问题:当我需要打印多个文件时,该方法要求我为每个文档选择打印机..
有没有办法只设置一次打印机?
对于打印机选择,我可以使用此代码,例如:
public static PrintService choosePrinter() {
PrinterJob printJob = PrinterJob.getPrinterJob();
if(printJob.printDialog()) {
return printJob.getPrintService();
}
else {
return null;
}
}
提前致谢
解决方案:
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);
}