Exibir HTML em PDF (Ireport + JasperReport)

5 respostas
N

Fala pessoal, bom dia !

Seguinte estou com um problema aqui e preciso de um help de vcs.

Tenho em meu sistema um campo de Descrição que utilizo o componente “rich:editor” para salvar os dados. Neste componente tem uma opção de HTML onde consigo inserir um código HTML e o mesmo rendeniza certinho o texto no editor. Com isso quando gravo os dados no banco ele grava com as tags do HTML.
Também tenho no meu sistema relatórios que gero utilizando o Ireport + JasperReports.
O problema que ocorre é o seguinte: Quando abro o relatório que contem este campo Descrição, o mesmo não rendeniza corretamente o texto. Ele mostra o texto apenas, mas não rendeniza a tabela criada em HTML.

Exemplo:

Tenho a seguinte tabela em HTML que inseri no editor. Na tela do sistema o editor rendeniza a tabela corretamente.

<table border="1" cellspacing="0" width="100%">
<tr>
<td class="fieldcolumn" align="center" valign="top">Field</td>
<td class="fieldcolumn" align="center" valign="top">Type</td>
<td class="fieldcolumn" align="center" valign="top">Collation</td>
<td class="fieldcolumn" align="center" valign="top">Null</td>
<td class="fieldcolumn" align="center" valign="top">Key</td>
<td class="fieldcolumn" align="center" valign="top">Default</td>
<td class="fieldcolumn" align="center" valign="top">Extra</td>
<td class="fieldcolumn" align="center" valign="top">Privileges</td>
<td class="fieldcolumn" align="center" valign="top">Comment</td>
</tr>
</table>

Quando abro o relatório em PDF, o mesmo exibe os dados da seguinte forma:

Field
Type
Collation
Null
Key
Default
Extra
Privileges
Comment

Sendo que o correto era o mesmo exibir dentro de uma tabela.
No Ireport, já marquei a opção de “Markup = HTML” no componente que rendeniza o texto, porém mesmo assim ele fica errado. Se tiro essa opção ele mostra o código HTML mesmo.

Alguém tem alguma ideia de como posso resolver esse problema ? :?

5 Respostas

M

nei.junior:
Fala pessoal, bom dia !

Seguinte estou com um problema aqui e preciso de um help de vcs.

Tenho em meu sistema um campo de Descrição que utilizo o componente “rich:editor” para salvar os dados. Neste componente tem uma opção de HTML onde consigo inserir um código HTML e o mesmo rendeniza certinho o texto no editor. Com isso quando gravo os dados no banco ele grava com as tags do HTML.
Também tenho no meu sistema relatórios que gero utilizando o Ireport + JasperReports.
O problema que ocorre é o seguinte: Quando abro o relatório que contem este campo Descrição, o mesmo não rendeniza corretamente o texto. Ele mostra o texto apenas, mas não rendeniza a tabela criada em HTML.

Exemplo:

Tenho a seguinte tabela em HTML que inseri no editor. Na tela do sistema o editor rendeniza a tabela corretamente.

<table border="1" cellspacing="0" width="100%">
<tr>
<td class="fieldcolumn" align="center" valign="top">Field</td>
<td class="fieldcolumn" align="center" valign="top">Type</td>
<td class="fieldcolumn" align="center" valign="top">Collation</td>
<td class="fieldcolumn" align="center" valign="top">Null</td>
<td class="fieldcolumn" align="center" valign="top">Key</td>
<td class="fieldcolumn" align="center" valign="top">Default</td>
<td class="fieldcolumn" align="center" valign="top">Extra</td>
<td class="fieldcolumn" align="center" valign="top">Privileges</td>
<td class="fieldcolumn" align="center" valign="top">Comment</td>
</tr>
</table>

Quando abro o relatório em PDF, o mesmo exibe os dados da seguinte forma:

Field
Type
Collation
Null
Key
Default
Extra
Privileges
Comment

Sendo que o correto era o mesmo exibir dentro de uma tabela.
No Ireport, já marquei a opção de “Markup = HTML” no componente que rendeniza o texto, porém mesmo assim ele fica errado. Se tiro essa opção ele mostra o código HTML mesmo.

Alguém tem alguma ideia de como posso resolver esse problema ? :?

Para não ter problema na geração de PDF apartir de um HTML e melhor utilizar o iText com o Tidy.
Se não me engano tem um tutorial aqui no GUJ.
Dá uma pesquisada no Google que acha facinho.

[]'s
JL

N

Mero_Aprendiz

Para não ter problema na geração de PDF apartir de um HTML e melhor utilizar o iText com o Tidy.
Se não me engano tem um tutorial aqui no GUJ.
Dá uma pesquisada no Google que acha facinho.

Obrigado pela resposta !

Então cara, vou dar uma olhada nesse Itext com o Tidy. Porém gostaria de alguma solução no Ireport mesmo.
Se caso souber de mais alguma coisa ou mais alguem souber, agradeço !

Obrigado por enquanto !

J

-Se alguem tiver a reposta me avisa tambem estou utilizando o Tidy + IText mas queria usar o ireport direto…

J

up no tópico… me encontro com o mesmo problema… ele não repeito o align do html e sim do campo no ireport…

alguma dica será bem vindo :wink:

Cumps.

A

Esse problema ocorre porque a Base do Ireport é a linguagem XML.
Porém isso não ocorre nas IDE (ex: NetBeans), dessa forma a IDE executa com perfeição a linguagem HTML.

Criado 13 de março de 2009
Ultima resposta 26 de out. de 2011
Respostas 5
Participantes 5