您有任何想法如何在显示对话框窗口的情况下使用标准Java库打印PDF文件吗?

PrinterJob pjob = PrinterJob.getPrinterJob();
        if (pjob.printDialog()) {
            try {pjob.print();}
            catch (PrinterException exc) {
                System.out.println(exc);
             }
         }


我在寻找解决方案时遇到了问题。试图使用PDFRenderer,但是,我不知道如何,它仅将我的.pdf打印在页面的1/4面上...如果您能提供帮助,我将不胜感激。

最佳答案

要使用pdfRenderer库,我基本上遵循这个家伙的步骤:

http://lynema.org/2010/12/29/printing-a-pdf-in-java-with-pdfrenderer

至于为什么在打印图像时出现比例失调的原因,是因为实现了PDFPrintPage。我上面显示的链接显示了如何解决该问题。至于PDFPrintPage的源代码,下面的链接提供了它:

http://juixe.com/techknow/index.php/2008/01/17/print-a-pdf-document-in-java/

我尝试理解PDFPrintPage中的逻辑,并操纵图像尺寸和纸张尺寸以适合我,现在我已使用PDFRenderer成功打印PDF

10-07 20:13