JSF + Impressão [Resolvido]

Pessoal,

Alguém sabe como faço para encaminhar para impressão apenas o conteúdo do modal?
Segue Código do meu jsp:

<rich:modalPanel id="panelOcorrencia" width="1000" height="753" autosized="true" moveable="true" resizeable="false" > <f:facet name="header"> <h:panelGroup> <h:outputText value="Detalhes da Ocorrencia"></h:outputText> </h:panelGroup> </f:facet> <f:facet name="controls"> <h:panelGroup> <h:graphicImage value="../resources/img/bt_RichClose.png" id="hidelink2"/> <rich:componentControl for="panelOcorrencia" attachTo="hidelink2" operation="hide" event="onclick" /> </h:panelGroup> </f:facet> </rich:modalPanel>

abs

Hm…voce utiliza o PrimeFaces tambem? Ele tem um componente de impressao, para o qual voce pode direcionar um bloco especifico da pagina.

alias,

O pessoal aqui do serviço só utiliza o rich, será que não tem nada parecido?
pesquisei de todas as formas e não encontrei solução. De repente entendendo como funciona com o prime
surge alguma luz. Tem como postar aqui pra gente ver?

[quote=Marcio N Carvalho]alias,

O pessoal aqui do serviço só utiliza o rich, será que não tem nada parecido?
pesquisei de todas as formas e não encontrei solução. De repente entendendo como funciona com o prime
surge alguma luz. Tem como postar aqui pra gente ver?

[/quote]

Mano, dá uma olhada no link do exemplo do Primefaces

http://www.primefaces.org/showcase-labs/ui/printer.jsf

Estou dando uma olhada aqui no codigo fonte e ele usa o plugin jqPrint do JQuery pra fazer a bagaça. Sugiro uma pesquisada nele, pois o JQuery é simples de trabalhar com o RichFaces.

Bom,

Como o pessoal lá do serviço estava meio com prazo estourando resolvi trocar o modal por um iframe.
Começaremos a refatoração do projeto e a idéia é utilizar o Jasper + Ireports para os relatórios.

abs,

Pois é Marcio.

Uma sugestão também é incluir um iframe dentro do modal.

Pode não ter muita diferença em questões de performance e desenvolvimento, mas visivelmente para o usuário fica algo um pouco mais agradável de se ver.

jsamuel1987,

Na verdade preferi abolir o modal a adicionar o frame direto, e chamando a impressão via JS.Ficou mais ou menos assim:

<h:outputFormat>
   <h:panelGroup styleClass="buttons">
     <a onclick="javascript:ImprimirRelatorio()" class="positive right">
        <h:outputText id="hotImprimir" value="#{msg['label.imprimir']}"/>
      </a>
   </h:panelGroup>
<h:outputFormat>
<webuijsf:iframe id="frameRelatorio" name="RelatorioImpressao" url="relatorio.jsf"/>

Java Script

function ImprimirRelatorio(){ // verifica qual é o browser do visitante e chama a função apropriada para impressão clientNavigator = navigator.appName; if (clientNavigator.indexOf('Microsoft') != -1){ window.parent.RelatorioImpressao.focus(); window.print(); }else{ window.parent.RelatorioImpressao.print(); } }

Sendo assim, finalizo o tópico.

Obrigado pela colaboração !!!