I have developed a web application that uses JasperReports. I noticed that the reports are printing server-side.
How do you make the reports print client-side (from the web browser)?
Any insights will be helpful.
I have developed a web application that uses JasperReports. I noticed that the reports are printing server-side.
How do you make the reports print client-side (from the web browser)?
Any insights will be helpful.
Presuming you have a Servlets-based architecture:
HttpServletResponse
instance with HttpServletResponse response = this.getThreadLocalResponse();
(for instance).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) to use the HttpServletRespone's output stream:
jre.setParameter( JRExporterParameter.OUTPUT_STREAM, getOutputStream() );
The browser will prompt the user to save the report as a PDF file. The user can print the PDF.