Faz download ao invés de abrir relatório direto na pagina (JSF + IREPORT)

Boa noite galera…

Estou conseguindo gerar o relatório, porém ao invés de abrir direto na pagina (ultima versão do navegador Google Chrome), faz o download do arquivo em PDF… alguém poderia me ajudar ??? segue o código abaixo:

BEAN:

...
    public void init() throws JRException{
        JRBeanCollectionDataSource beanCollectionDataSource=new JRBeanCollectionDataSource(listOfLivro);
        jasperPrint=JasperFillManager.fillReport("C:\\report.jasper", new HashMap(),beanCollectionDataSource);
    }
    
   public void PDF(ActionEvent actionEvent) throws JRException, IOException{
       init();
       HttpServletResponse httpServletResponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
      httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.pdf");
       ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream();
       JasperExportManager.exportReportToPdfStream(jasperPrint, servletOutputStream);      
   }
...

código que chama o relatório (xhtml):

...
 <h:commandButton value="PDF" actionListener="#{demoBean.PDF}"/>
...

desta maneira ele usa a caixa onde vc escolhe ou abrir ou fazer o download, para abrir direto tente usar outro contentType em response.setContentType("")

HttpServletResponse response= (HttpServletResponse) fc.getExternalContext().getResponse();
		response.setContentType("application/force-download");
		response.setHeader("Content-Disposition", "attachment;filename=\"" + "SCI-Sistema de Controle Industrial.pdf" + "\";");
	

[quote=lgweb]desta maneira ele usa a caixa onde vc escolhe ou abrir ou fazer o download, para abrir direto tente usar outro contentType em response.setContentType("")

[code]
HttpServletResponse response= (HttpServletResponse) fc.getExternalContext().getResponse();
response.setContentType(“application/force-download”);
response.setHeader(“Content-Disposition”, “attachment;filename=”" + “SCI-Sistema de Controle Industrial.pdf” + “”;");

[/code][/quote]

Obrigado, vou tentar assim que chegar em casa… e posto o resultado …vlw

Você também pode usar o Content-Dispositon “attachment”, que é um padrão MIME e, portanto, sendo aceito por mais Browsers.

HttpServletResponse response= (HttpServletResponse) fc.getExternalContext().getResponse(); response.setContentType("application/attachment"); response.setHeader("Content-Disposition", "attachment;filename=\"" + "SCI-Sistema de Controle Industrial.pdf" + "\";");
Este post fornece informações detalhadas sobre este assunto, inclusive comentando cada linha de código: http://java-bytecode.blogspot.com.br/2012/08/como-exibir-um-pdf-numa-pagina-jsf.html

[]'s