1

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

            }

谢谢您的帮助

问候

塞缪尔

4

0 回答 0