如何在java中打印没有打印预览的PDF文件

时间:2013-09-12 14:37:21

标签: java pdf printing dialog preview

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

2 个答案:

答案 0 :(得分: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()) 此外,您可以先尝试获取受支持的属性,然后再使用。请阅读上面的文档,它的示例非常丰富。

答案 1 :(得分:1)

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

decodePdf.setPrintPageScalingMode(PrinterOptions.PAGE_SCALING_REDUCE_TO_PRINTER_MARGINS);