How to stream pdf document from servlet?

Posted by Kumar on Stack Overflow See other posts from Stack Overflow or by Kumar
Published on 2010-05-04T06:33:22Z Indexed on 2010/05/04 6:38 UTC
Read the original article Hit count: 269

Filed under:

Hi,I am creating pdf document using jasper report and i need to stream that pdf document from servlet.Can anyone help me where i did mistake.This is the code snippet which i am using in my application.

            ServletOutputStream servletOutputStream = response.getOutputStream();

            String fileName="test.pdf";

            response.setContentType("application/pdf");
            response.setHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");
            response.setHeader("Cache-Control", "no-cache");
            try
            {
                    Map parameters = new HashMap();
                    parameters.put("SUBREPORT_DIR", JasperReportFilepath);
                    parameters.put("TestId", testID);

                    JasperPrint jprint=JasperFillManager.fillReport(filePath, parameters, conn);

                    byte[] output=JasperExportManager.exportReportToPdf(jprint);            
                    System.out.println("Size====>"+output.length);

                    servletOutputStream.write(output);
                    servletOutputStream.flush();
                    servletOutputStream.close();

                    System.out.println("===============>Streaming perfectly");


            }
            catch(Exception e)
            {
                    System.out.println("===============>+JasperException"+e.getMessage());
            }

and i could not get any error message also.Everything is working fine but document is not streaming. Please help me to sort out the problem.

© Stack Overflow or respective owner

Related posts about servlets