我有一个小的Java程序,在其中生成一个Pdf,然后使用PDF Box工具和Java打印机作业打印PDF。我使用的是兄弟标签打印机。
当我按下按钮执行打印方法时,窗口将打开打印机队列,并且正在进行打印作业,但会注意打印。我认为原因是 打印机作业中的文件为0kb,Windows队列中的pages列为“ n / a”。
几分钟后,队列中的打印作业现在具有特定大小,并且打印机开始打印。当我第二次执行打印方法时,Windows打印队列中的打印作业几乎具有特定的大小,并且打印机开始直接打印。
所以我想知道第一次打印此延迟的原因是什么。一定是Java问题,因为如果我直接从PDF Reader打印,那么第一次就不会出现延迟。
这是我的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();
}
谢谢您的帮助
致谢
塞缪尔