Bom dia galera!
Então, tenho um sistema feito em JSF 1.2 RI +Facelets+RichFaces 3.3.2 rodando no JBoss 4.2.2.
Em uma determinada ação eu gero dinamicamente um pdf e envio por e-mail pro usuário.
Porém, eu gostaria muito de que também tivesse um botão “visualizar” que abrisse o meu pdf em outra aba, mas não estou tendo muito sucesso.
Coloquei o seguinte código:
<a4j:commandButton value="#{msg.printBtnPrint}" limitToList="true" reRender="panelMessagesImprimirOrderConsultGUI" ajaxSingle="true"
action="#{ConsultaPedidoCompraBean.imprimir}" target="_blank" />
public void imprimir() {
try{
byte[] bytes = bean.getrelatorio(); //obtem o relatorio pdf em um vetor de bytes
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
response.setContentType("application/pdf");
response.setHeader("Content-disposition", "filename=\"Pedido.pdf\"");
response.setContentLength(bytes.length);
response.getOutputStream().write(bytes);
response.getOutputStream().flush();
FacesContext.getCurrentInstance().renderResponse();
FacesContext.getCurrentInstance().responseComplete();
}catch(Exception ex){
}
}
O que acontece é que ele imprime na mesma tela um monte de caracteres sem noção e na mesma aba, como se o target não tivesse efeito.
Já tenho o Acrobat Reader e o plugin pro firefox instalado na minha máquina.
Alguma sugestão?!