Erro ao visulaizar pdf na Web

8 respostas
E

Pessoal é o seguinte ao tentar visulalizar um pdf na web, aparece a seguinte menssagem quando ele vai abrir

Menssage “Não foi possivel usar o Adobe Reader para visualizar o PDF no navegado Web. O Reader sera encerrado, saia do navegador e tente novamente”

Quando eu tento novamente funciona, mais de primeira sempre da este erro, alguem sabe o porque?

Meu jsp

<h:commandLink id="btnExportarPDF"
									   value="Exportar PDF" 
									   styleClass="botao"
							           action="#{dlgGridCompMB.imprimir}" 
							           immediate="true">
							<h:graphicImage url="/images/impressora.jpg"/>
							<f:setPropertyActionListener value="ExportarPDFHist" target="#{dlgGridCompMB.statusImpressao}"/>	
					    </h:commandLink>

metodo do MB

JasperReport jr = (JasperReport) JRLoader.loadObject(ReportsUtils.getNomeCompletoArquivo("CompProgTot.jasper"));
        JRBeanCollectionDataSource jrBean = new JRBeanCollectionDataSource(lista);   
        JasperPrint impressao = JasperFillManager.fillReport(jr, parametros, jrBean);   
        byte[] b = JasperExportManager.exportReportToPdf(impressao); 

        javax.servlet.http.HttpServletResponse response = (javax.servlet.http.HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
       ServletOutputStream ouputStream; 	   
       response.setContentType("application/pdf");   
       response.setContentLength(b.length);  
       response.setHeader("Content-Disposition","inline; filename=report.pdf");   
       ouputStream = response.getOutputStream();
       ouputStream.write(b, 0, b.length);   
       ouputStream.flush();   
       ouputStream.close();   
       FacesContext.getCurrentInstance().responseComplete();

Deste ja agradeço

8 Respostas

jimmyhc

Esse erro acontece para qualquer browser ?!

E

A menssagem descrita encima

E

acontece Sim, o que poderia ser?

L

bom seria interessante vc debugar este codigo,mas experimente tirar o immediate=“true” do seu commandLink.

E

Obrigado lgweb POR ME AJUDAR

tirei o immediate do commandlink, continua o mesmo mensagem de erro ja debug, não consegui resolver.

Oque poderia ser ?

E

Alguem?

L

Try

FacesContext.getCurrentInstance().responseComplete();
				FacesContext.getCurrentInstance().renderResponse();
E

IgWeb os dois tipos nao permite o cast para
javax.servlet.http.HttpServletResponse response

Obrigado

mais alguma ideia?

Criado 27 de agosto de 2010
Ultima resposta 31 de ago. de 2010
Respostas 8
Participantes 3