带有spring MVC的JasperReport:在客户端打印报告而不显示它

我正在开发一个Spring MVC – Angularjs应用程序。
我需要打印报告,我选择了JasperReport来做到这一点。

在我继续之前,我想知道我是否可以生成报告,然后将其直接打印在客户端计算机上设置的默认打印机(可根据用户更改的打印机) 而不在屏幕上显示。
我一直在寻找这个特定需求的答案,但找不到任何答案。

如果有人知道它….

生成报告并打印它的来源:

HashMap params = new HashMap(); params.put("Title", "My Report"); InputStream reportStream = this.getClass().getResourceAsStream(TEMPLATE); JasperDesign jd = JRXmlLoader.load(reportStream); JasperReport jr = JasperCompileManager.compileReport(jd); JasperPrint jp = JasperFillManager.fillReport(jr, params, datasource.getDataSource()); JasperPrintManager.printReport(jp, false); 

您可以在HTML页面中创建一个包含PDF的对象,然后使用print()方法或使用java.awt.print.PrinterJob进行print() 。 见下面的例子。

  • 使用Javascript,HTML5,AngularJS从浏览器打印嵌入式PDF
  • 从浏览器打印PDF
  • 直接从JavaScript打印PDF
  • 将JasperPrint直接打印到打印机? – Java PrinterJob
  • 使用java.awt.print.PrinterJob的不同示例

希望这对你有所帮助