2011-01-14 121 views
2

我开发了一个使用JasperReports的Web应用程序。我注意到这些报告正在打印服务器端。打印JasperReports客户端?

您如何使报告打印客户端(从Web浏览器)?

任何见解都将有所帮助。

回答

1

假设你有一个基于Servlet的架构:

  1. HttpServletResponse实例获取一个手柄HttpServletResponse response = this.getThreadLocalResponse();(例如)。
  2. 设置各种标题以指示文件附件。
     
    HttpServletResponse response = getServletResponse(); 
    response.setHeader("Content-Description", "File Transfer"); 
    response.setHeader("Content-Disposition", "attachment; filename=" + 
        "report.pdf"); 
    response.setHeader("Content-Type", "application/pdf"); 
    response.setHeader("Content-Transfer-Encoding", "binary"); 
    
  3. 配置JRExporter(JRE)使用HttpServletRespone的输出流:
     
    jre.setParameter(JRExporterParameter.OUTPUT_STREAM, getOutputStream()); 
    
  4. 执行报告。

浏览器将提示用户将报告保存为PDF文件。用户可以打印PDF。

相关问题