我有一个小型 Java 程序,在其中生成 Pdf,然后使用 PDF Box 工具和 Java 打印机作业打印 PDF。我用的是兄弟标签打印机。
当我按下按钮执行打印方法时,窗口打开打印机队列并且打印作业正在进行中,但注意打印。我认为原因是打印机作业中的文件为 0kb,而 windows 队列中的 pages 列是“n/a”。
几分钟后,队列中的打印作业现在具有特定大小,打印机开始打印。当我第二次执行打印方法时,windows打印队列中的打印作业立即具有特定大小,打印机直接开始打印。
所以我想知道在第一次打印时出现这种延迟的原因是什么。这一定是Java问题,因为如果我直接从PDF阅读器打印,第一次没有延迟。
这是我的Java代码:
private static void printpdf_1 ()
throws IOException, PrinterException
{
File file = new File("C:\\Users\\Public\\order_1.pdf") ;
PDDocument document =PDDocument.load(file);
PrinterJob job = PrinterJob.getPrinterJob();
job.setPageable(new PDFPageable(document));
// define custom paper
Paper paper = new Paper();
paper.setSize(148, 324); // 1/72 inch früher 142
paper.setImageableArea(0, 0, paper.getWidth(), paper.getHeight()); // no margins
// custom page format
PageFormat pageFormat = new PageFormat();
pageFormat.setPaper(paper);
// override the page format
Book book = new Book();
// append all pages
book.append(new PDFPrintable(document), pageFormat, document.getNumberOfPages());
job.setPageable(book);
job.print();
}
谢谢您的帮助
问候
塞缪尔