| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/08/2006 09:24:01
|
legionarioba
JavaTeenager
![[Avatar]](/images/avatar/d58072be2820e8682c0a27c0518e805e.jpg)
Membro desde: 24/03/2003 00:40:42
Mensagens: 171
Localização: Salvador
Offline
|
Bom dia,
Tenho o seguinte problema: tenho uma aplicação web, em que eu preciso imprimir um pdf que eu gero via jasperreports. O problema é o seguinte, normalmente nas telas do sistema, ao clicar no botão de gerar relatório, eu abro um popup, em que a url é a servlet que implementa a minha abstração do JAsper, onde eu devolvo um array de bytes pra tela e um pdf é apresentado. A questão é que tenho um relatório de emissão de carteiras, em que eu não posso abrir o popup, porque é um relatório com formulário pré-impresso, a única coisa que tenho no meu layout do relatório sã os dados posicionados. A execução correta da tela seria clicar no botão de imprimir, e ele já abrir a janela com as configurações de impressão, mas de forma escondida. Consegui fazer isso usando iframe, só que o print() que executo imprime apenas o conteúdo visível da página
Pesquisei sobre a tag object, poderia fazer algo assim, no corpo da página eu insiro:
Onde classid é o objeto que abre o Acrobat dentro do IE. O problema é que eu não consigo setar o valor de src via Javascript fazendo:
document.getElementById("PDF").src=minhaUrlDinamica;
O pior é que pelo que vi esse OBJECT seria a única alternativa, pois com a atribuição do parÂmetro src de forma estática, e chamando:
document.getElementById("PDF").print();
Eu consigo gerar a caixa de diálogo de impressão do próprio PDF, e ai consigo visualizar e imprimir o conteúdo mesmo que eu defina height e width na tag object como 0. Alguém tem uma luz sobre como definir dinamicamente(ou se é possível) o valor do parÂmetro src nessa tag?
Abraços,
Silvio Luiz
|
http://silvioluiz.wordpress.com
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/08/2006 22:18:00
|
legionarioba
JavaTeenager
![[Avatar]](/images/avatar/d58072be2820e8682c0a27c0518e805e.jpg)
Membro desde: 24/03/2003 00:40:42
Mensagens: 171
Localização: Salvador
Offline
|
Consegui!
Foi suado..foi quase inédito..hehe, mas eu consegui, achei tão escasso de exemplos que preferi que chegasse à noite pra detalhar mais a solução. Fui direto na fonte , e verifiquei que para o caso de estar dentro de uma aplicação Web, é necessário defiinir na tag param o valuetype=ref, de modo que eu possa utilizar uma URI como value.
No javascript, é preciso atenção com a url pois só conseguir setar o value do object configurando a url completa. Segue o código...
No js:
No jsp:
Após 5 segundos...ele abre a caixa de diálogo do pdf, realmente foi linda essa...hehe
[]'s
Silvio Luiz
|
http://silvioluiz.wordpress.com
 |
|
|
 |
|
|
|
|