本文介绍了打印JasperReports客户端?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我开发了一个使用JasperReports的Web应用程序。我注意到报告是打印服务器端。
I have developed a web application that uses JasperReports. I noticed that the reports are printing server-side.
如何使报告打印在客户端(从Web浏览器)?
How do you make the reports print client-side (from the web browser)?
任何见解都会有所帮助。
Any insights will be helpful.
推荐答案
假设你有一个基于Servlet的架构:
Presuming you have a Servlets-based architecture:
- 使用
HttpServletResponse response =获取
(例如)。HttpServletResponse
实例的句柄this.getThreadLocalResponse(); - 设置各种标题以指示文件附件。
- Get a handle on the
HttpServletResponse
instance withHttpServletResponse response = this.getThreadLocalResponse();
(for instance). - Set the various headers to indicate a file attachment.
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" );
JRExporter
(jre)以使用HttpServletRespone的输出流:JRExporter
(jre) to use the HttpServletRespone's output stream:
jre.setParameter( JRExporterParameter.OUTPUT_STREAM, getOutputStream() );
浏览器将提示用户将报告另存为PDF文件。用户可以打印PDF。
The browser will prompt the user to save the report as a PDF file. The user can print the PDF.
这篇关于打印JasperReports客户端?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!