Preciso carregar um arquivo PDF na tela

5 respostas
dahenz

Bom dia!!!

Uso JSF e preciso carregar um arquivo PDF gravado na tela… sei que em servlet isso é fácil…

response.sendRedirect("c:/arquivo.pdf");

Agora como eu faço isso com o FacesContext???

Obrigado…

5 Respostas

dahenz

Com o FacesContext eu faço da seguinte maneira:

FacesContext facesContext = FacesContext.getCurrentInstance();
		HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
										 
		String caminho = FacesUtil.getCurrentDirectory()+"reports\\relatorio_exemplo.pdf";
				
		response.sendRedirect(caminho);

Não da erro... porém não mostra.....

A

Dá algum erro de compilação ou exception?

dahenz

Não… erro algum…

E na tela… fica tudo em branco!!!

newbcc

Fala aí dahenz, tudo bem!?

Cara eu tive esse mesmo problema, porém, eu precisava exibir um arquivo MSExcel. Fazia exatamente da mesma maneira que você fez e quando acontecia o redirecionamento, mostrava uma tela em branco.

A solução que eu encontrei foi criar uma Servlet, e nela eu carregava os valores e montava o excel, e para exibir jogava diretamente no stream de saída. Não perca mais tempo, faça isso também.

Ah, não se esqueça de alterar o ContentType response.setContentType ("application/pdf");

Abs!

dahenz

Daí blz!!!

Pensei em servlet… Mas como minha aplicação toda é em JSF achei que ficaria meio esquisito… mas acho que vou partir pra isso mesmo…

Se alguém tiver mais alguma idéia… fico agradecido…

Obrigado a todos…

Criado 28 de dezembro de 2010
Ultima resposta 28 de dez. de 2010
Respostas 5
Participantes 3