Jasper - Visualizar diálogo de impressão no cliente

Pessoal,

Estamos desenvolvendo uma aplicação web com JSF.

Na parte de relatórios, existem etiquetas que serão impressas diretamente do sistema, sem precisar exportar antes para pdf ou html.

Até ai tudo bem conseguimos, o problema é que o cliente deseja que antes da impressão apareça um diálogo de impressão, para que ele possa selecionar qual página deseja imprimir, colocamos o parâmetro ?true? no método printReport do JasperPrintManager:

boolean retornoImpressao = JasperPrintManager.printReport(impressao,true)

Em uma máquina rodando local funcionou perfeitamente, o problema é que quando migramos para o servidor, essa janela não aparece para o cliente e sim, aparece no servidor.

Alguém já passou por isso? Como posso fazer com que essa mensagem apareça para o cliente e não no servidor.

O problema acontece porque você está rodando o programa no servidor. PAra o lado do cliente só vai código HTML. Isso faz parte da arquitetura web. O que está acontecendo nem é um problema, na verdade.

Exatamente amigo, como o código jsp é executdo no servidor, tudo vai para o servidor.

Estou passando pelo mesmo problema. Porêm consegui contornar esse problema da seguinte forma ( espero que ajude ) :

  1. Inclui um “frame oculto” na minha página:
  1. Qunado em uma determinada condição eu seto o src do meu i-frame que está em outra página:

if( ( frelatbalancete4colunas.gerarRelatorio.value == “sim” ) && (frelatbalancete4colunas.relatorio.value == “impressao” ) ) document.getElementById(‘iImprimir’).src = ‘relatorioImpressao.jsp’;

  1. Esta outra página contem o código para GERAR RELATÓRIO EM HTML, ou seja, depois desse código um " html oculto " será gerado na página.

  2. Ai é só colocar " window.print()" na javascript do final da página mencionada no item 2 “relatorioImpressao.jsp” e pronto … o janela de impressão será exibida no cliente e o relatório sairá perfeitamente no cliente.

BOA SORTE …

qualquer coisa: iatanm@yahoo.com.br - (62)92542266

Iatan Marques dos Santos - Analista de Sistemas.

Obrigado Iatan,

Vou testar essa sua alternativa.

Kleber