| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 11:20:06
|
EderBaum
JavaBaby
![[Avatar]](/images/avatar/b937384a573b94c4d7cc6004c496f919.jpg)
Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline
|
Sempre vejo pessoas procurando por ai como converter HTML para PDF, mas sempre as soluções são obscuras complicadas e não muito "limpas", as vezes requerendo bibliotecas proprietárias.
Pois então vou lhe dar uma solução com apenas 06 linhas de código que salvará sua alma . Lá vamos nós rápidos e rasteiros. Como o código é mediocremente pequeno vou colocar tudo aqui pra encher linguiça, até os imports
Se você contar o numero de linhas do 2º método convert, verá que há apenas 06 linhas como prometido, e para usar esta classe, o código é menor ainda:
Os jars que vc precisa são estes
Tidy : http://jtidy.sourceforge.net
XHTMLRenderer : https://xhtmlrenderer.dev.java.net/
Itext: http://www.lowagie.com/iText
Espero que tenham divertido-se.
|
sabesim.com.br |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 11:32:52
|
Thiago Ananias
JavaChild
![[Avatar]](/images/avatar/c591d12b9dbf597d4e38f56c674ecf0e.jpg)
Membro desde: 07/11/2006 17:05:52
Mensagens: 120
Offline
|
Orra cara!!
Obrigado por compartilhar! esta função já entrou na minha listinha!
[]s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 11:44:07
|
nadilsons
JavaGuru
![[Avatar]](/images/avatar/0676f43ba89ef089f43c6f36ca40fa4a.png)
Membro desde: 25/09/2006 23:10:20
Mensagens: 222
Offline
|
Valeu EderBaum!!!
Mas pelo que vi o documento deve ser xhtml para funcionar, estou certo?
Obrigado,
This message was edited 1 time. Last update was at 19/12/2007 11:44:41
|
Jesus é o caminho, a verdade e a vida!
Reflection DSL - http://code.google.com/p/reflection-dsl |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 11:50:10
|
paulovittor23
Java Ninja
![[Avatar]](/images/avatar/402cac3dacf2ef35050ca72743ae6ca7.jpg)
Membro desde: 11/05/2006 14:09:41
Mensagens: 282
Localização: Santos - SP
Offline
|
Bem legal..
da pra fazer algo semelhante com xhtml e algumas tags do JBoss Seam..
mas nesse caso vc já escreve o documento utilizando tags que farão com que o documento seja renderizado como pdf..
da até pra colocar gráfico
Exemplo.xhtml
Para apresentar o pdf basta vc chamar a página como se fosse uma página, ex: /Exemplo.seam
This message was edited 1 time. Last update was at 19/12/2007 11:51:03
|
@paulovittor23
Pós-graduando em Engenharia de Software na PUC-SP.
SCJP 5.0, SCWCD 1.4, SCBCD 5.
http://www.paulovittor23.org/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 11:53:38
|
EderBaum
JavaBaby
![[Avatar]](/images/avatar/b937384a573b94c4d7cc6004c496f919.jpg)
Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline
|
Exato. o Jtidy é um "HTML Beautifyer", ai o que vc mandar pra ele, mesmo tags não fechadas, ou textos tirados de Blogs vai funfar.
Esta é a beleza do código, você não precisa se preocupar com as coisas baixas, basta mandar HTML em não conformidade que o resto o código cuida.
|
sabesim.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 20:12:53
|
Nothunt
Thread.start()
Membro desde: 11/05/2006 08:22:54
Mensagens: 40
Localização: Portugal
Offline
|
Muito obrigado!
Mas se percebi temos de passar o html linha a linha certo?
um abraço de Portugal
|
Java rules and the rest drules!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2007 21:28:40
|
EderBaum
JavaBaby
![[Avatar]](/images/avatar/b937384a573b94c4d7cc6004c496f919.jpg)
Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline
|
Nothunt wrote:Mas se percebi temos de passar o html linha a linha certo?
Não, de forma alguma.
Você pode inclusive entrar um InputStream que aponte para este post aqui neste fórum que possivelmente vai converter este tópico para PDF
Inserção de imagens e tudo mais é tranquilo e simples, porém ele vai usar conexões ai pra "puxar" as imagens.
This message was edited 1 time. Last update was at 19/12/2007 21:46:34
|
sabesim.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 08:39:01
|
correainfo
JavaGuru
![[Avatar]](/images/avatar/1b84c4cee2b8b3d823b30e2d604b1878.jpg)
Membro desde: 16/04/2005 21:04:25
Mensagens: 240
Localização: São Paulo SP - Cidade Natal : Auriflama,SP
Offline
|
EderBaum, bom eu nunca fiz isso como eu passo esse topico para ele escrever no pdf
Desde ja agradeço atençao.
|
11-75333451
Desenvolvedor Java e IPhone
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 08:55:24
|
correainfo
JavaGuru
![[Avatar]](/images/avatar/1b84c4cee2b8b3d823b30e2d604b1878.jpg)
Membro desde: 16/04/2005 21:04:25
Mensagens: 240
Localização: São Paulo SP - Cidade Natal : Auriflama,SP
Offline
|
Bom ja consegui escrever de uma url
Mais ele não carregar as imagens como vc disse EderBaum
|
11-75333451
Desenvolvedor Java e IPhone
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 09:30:23
|
EderBaum
JavaBaby
![[Avatar]](/images/avatar/b937384a573b94c4d7cc6004c496f919.jpg)
Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline
|
correainfo wrote:Mais ele não carregar as imagens como vc disse EderBaum
Bem, eu nunca tentei fazer com uma URL, e também não consigo ver onde isto seria necessário.
Mas mandando uma string tipo:
Isto pra mim funcionou perfeitamente, mas minha aplicação está rodando já num servidor na Web.
|
sabesim.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 10:50:35
|
EderBaum
JavaBaby
![[Avatar]](/images/avatar/b937384a573b94c4d7cc6004c496f919.jpg)
Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline
|
correainfo wrote:Mais ele não carregar as imagens como vc disse EderBaum
Já sei o que houve. Neste meu exemplo acima eu uso o caminho completo da imagem no "src", já na sua página é sempre apontado o caminho relativo, e ai não vai mesmo.
|
sabesim.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 11:46:56
|
Nothunt
Thread.start()
Membro desde: 11/05/2006 08:22:54
Mensagens: 40
Localização: Portugal
Offline
|
Eu tambem testei.
No netbeans 6.0 criei a classe Html2Pdf
e a main
e como resultado obtive
Alguma ideia para resolver o problema?
|
Java rules and the rest drules!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 13:05:45
|
EderBaum
JavaBaby
![[Avatar]](/images/avatar/b937384a573b94c4d7cc6004c496f919.jpg)
Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline
|
Nothunt wrote:Alguma ideia para resolver o problema?
Esqueçam tudo que eu falei sobre converter este POST para PDF.
Veja este erro:
Ele nunca vai achar o arquivo /img/logo.gif pois o programa está rodando em sua máquina, e é nela que este vai ser procurado. Pra funcionar tem que trocar o /img/logo.gif por http://www.guj.com.br/img/logo.gif.
Sacou?
Se testar este exemplo abaixo com imagens, verá que vai dar certo.
|
sabesim.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 14:50:05
|
Nothunt
Thread.start()
Membro desde: 11/05/2006 08:22:54
Mensagens: 40
Localização: Portugal
Offline
|
Eu usei este post titulo de exemplo..
mas axo que ja estendi..
quer dizer que se se tiver este codigo no servidor logo irá funcionar por inteiro?
e se for uma pagina jsp também funciona? desde que a pagina ja esteja carregada?
obrigado
|
Java rules and the rest drules!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2007 15:03:24
|
cassio
GUJ Master
![[Avatar]](/images/avatar/8ae7398026ed8f2172aefd6cbc856bc8.jpg)
Membro desde: 19/06/2006 08:25:28
Mensagens: 1336
Localização: Caieiras-SP
Offline
|
Nothunt wrote:Eu usei este post titulo de exemplo..
mas axo que ja estendi..
quer dizer que se se tiver este codigo no servidor logo irá funcionar por inteiro?
e se for uma pagina jsp também funciona? desde que a pagina ja esteja carregada?
obrigado
O retorno de um request HTTP que retorne HTML não tem como saber se esse HTML foi criado através de um JSP, se já era HTML puro, ou qualquer outra coisa. O stream retornado é HTML e pronto. Logo, irá funcionar para JSP também.
|
Cássio Marques
Blog
|
|
|
 |
|
|