[RESOLVIDO] Relatório jasper nao abre no i.e. 8

4 respostas
douglascst90

Galera tenho um problema, o meu relatorio nao abre no internet explorer 8, mas abre na versão 9 do i.e abre no mozila e no chrome normal, mas na versão 8 ele nao quer abrir, quando eu chamo aparece apenas uma pagina em branco.

Será que alguem pode me ajudar com isso?? Obrigado

4 Respostas

WRYEL

Descreva fluxo que faz e frameworks que você está usando.

douglascst90

Estou usando jsf com primefaces e o relatorio fiz no ireport v.4.5.

Aqui é o meu botao.
<h:commandLink target="_blank" immediate="flse" action="#{MBSolicitaSenhaFisico.formularioDesbloqueio}" >
                                                    <p:graphicImage style="border: none"  value="/img/download1.png" />
                                                </h:commandLink>
                                            </h anelGrid>
e aqui o meu codigo java
facesContext.responseComplete();
                        //  ServletContext scontext = (ServletContext) facesContext1.getExternalContext().getContext();
                        JasperPrint jasperPrint = JasperFillManager.fillReport(scontext.getRealPath("/WEB-INF/report/desbloqueiaPF.jasper"), parameters, ds);
                        ByteArrayOutputStream baos1 = new ByteArrayOutputStream();


                        JRPdfExporter exporter = new JRPdfExporter();
                        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos1);
                        exporter.exportReport();
                        byte[] bytes = baos1.toByteArray();

                        if (bytes != null && bytes.length > 0) {

                            HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
                            response.setContentType("application/pdf");
                            //gera arquivo .pdf
                            //JasperExportManager.exportReportToPdfFile(jasperPrint, "C:/Users/Usuario/Desktop/relatorio.pdf");
                            response.setHeader("Content-disposition", "inline; filename=\"desbloqueia1.pdf\"");
                            response.setContentLength(bytes.length);
                            ServletOutputStream outputStream = response.getOutputStream();
                            outputStream.write(bytes, 0, bytes.length);
                            outputStream.flush();
                            outputStream.close();
WRYEL

inicialmente, parece estar tudo certo, mas, tenta comentar a primeira linha: // facesContext.responseComplete(); e depois do outpuStream.close(); coloque:

FacesContext.getCurrentInstance().responseComplete();
douglascst90

mano consegui resolver o problema, eu tinha instalado na minha maquina o leitor de pdf foxit reader 5.1 que por algum motivo ele não estava abrindo com o i.e 8, ai instalei o adobe reader e meu relatorio abriu normalmente, obrigato pela ajuda, abraços.

Criado 10 de abril de 2012
Ultima resposta 10 de abr. de 2012
Respostas 4
Participantes 2