Java PDF Box打印首次进入队列

时间:2018-07-23 21:30:47

标签: java pdf printing pdfbox printqueue

我有一个小的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();

            }

谢谢您的帮助

致谢

塞缪尔

0 个答案:

没有答案