我想使用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);
}