1

我使用 JasperReports 成功生成了一个 PDF 文件;我的 PDF 文件的创建是通过按钮触发。生成文件后,我想在没有 PDF 预览的情况下在打印机中打印该 PDF 文件(打开 PDF 文件,然后单击打印按钮)。我的目标是当用户单击生成 PDF 的按钮时,它还将在该计算机的默认打印机中打印该 PDF。顺便说一句,我在这个项目中使用 Windows 和 Java JRE7。

4

2 回答 2

1

查看此博客http://blog.idrsolutions.com/2010/01/printing-pdf-files-from-java/;可能对你有帮助。

您也可以寻找 PDFRenderer Java API,可能会有所帮助。

编辑:如何设置打印属性 - 参考:http ://docs.oracle.com/javase/7/docs/technotes/guides/jps/spec/attributes.fm4.html

PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(5)); 
aset.add(MediaSize.ISO_A4); 
aset.add(Sides.DUPLEX); 

将此属性传递给printJob.print(pdfDoc, new HashPrintRequestAttributeSet()) 此外,您可以尝试先获取支持的属性,然后再相应地使用。请阅读上面的文档,里面的例子非常丰富。

于 2013-09-12T14:46:27.600 回答
1

我通过使用 JPedal 成功完成了任务,现在我可以使用代码将 pdf 文件直接打印到实际大小的打印机上

decodePdf.setPrintPageScalingMode(PrinterOptions.PAGE_SCALING_REDUCE_TO_PRINTER_MARGINS);
于 2013-09-27T09:19:27.470 回答