none
Conversão HMTL para PDF não aplica estilos CSS. RRS feed

  • Pergunta

  • Buenas,

    Estou tentando converter HTML para PDF, fazer uma exportação.
    Até consegui fazer gerar o PDF usando o iTextSharp versão 5.3.4.0, mas não tem jeito de conseguir aplicar estilos.
    Tentei fazer o Load dos estilos, adicionar css, adicionar tag style (que não interpreta) e nada funciona.

    Já tentei algo assm (o exemplo usa gridview, que não é meu caso, mas gerou o PDF igual) :
    http://hspinfo.wordpress.com/2008/01/12/how-to-convert-html-content-to-pdf-file/

    E este também:
    http://www.codingasp.net/2011/10/generate-pdf-with-aspnet-and-itextsharp.html

    Ao clicar para imprimir, por exemplo, e ao invés de selecionar a impressora, selecionar o PDF ele sai certinho do jeito que preciso, mas com imagem e linhas desnecessárias. Preciso gerar isso via código.
    Alguém já passou por algo semelhante ou sabe algum outro componente que funcione ???

    Agradeço qualquer ajuda, está complicado.


    Iterar é humano, a recursão é divina. Espero ter ajudado, att.


    • Editado alvarok terça-feira, 4 de dezembro de 2012 11:33
    terça-feira, 4 de dezembro de 2012 11:29

Todas as Respostas

  • O itextsharp é um gerador de relatório para pdf, basta vc usar as configurações de fonte e com relação a ordenação basta vc fazer o align do paragrafo, não tem como aplicar css no itextsharp a não ser que vc faça o text em uma página html e faça algo para gerar isso em pdf.

    Junior

    terça-feira, 4 de dezembro de 2012 11:44
  • Pois é,

    Só que os parágrafos e espaçamentos estão todos definidos nos estilos e são antigos, não posso simplesmente mudar.
    Alguns são escritos em tempo de execução.
    Se funcionasse eu escreveria todos os estlios/classes dentro de uma tag style, mas está escrito dentro de uma tag style não é interpretado, aparece todo escrito no pdf.
    Só precisava que o pdf fosse gerado mantendo os estilos da página, como acontece no caso da impressão como citei antes.


    Por isso acho que terei que usar algum outro gerador. Aceito sugestões.


    Iterar é humano, a recursão é divina. Espero ter ajudado, att.



    • Editado alvarok terça-feira, 4 de dezembro de 2012 12:25
    terça-feira, 4 de dezembro de 2012 12:06
  • Varito, tenho em algumas páginas a montagem de relatório eu faço dentro de um label, declaro o label e monto toda a estrutura no codebehind exemplo :

    lbltext.text = "<table>"

    lbltext.text += "<tr>"

    Ai vc pode aplicar seu css criando div e associando isso a um css, sendo que tem algumas desvantagens, não tem como gerar isso em pdf, não tem como controlar quebra de página.

    Se te servir assim é uma saída.


    Junior

    terça-feira, 4 de dezembro de 2012 12:49
  • Gerar uma imagem do html e gerar o pdf após não seria uma saída?

    Já vi várias pessoas com problemas em converter html para pdf, e todas elas reclamavam do problema do css.

    terça-feira, 4 de dezembro de 2012 14:14
  • Infelizmente gerar imagem não seria saída, pois são documentos.

    Estes componentes fazem o que preciso, por exemplo:
    http://www.html-to-pdf.net/Support.aspx#csharp
    http://www.evopdf.com/evopdfdemo/default.aspx

    O único porém é que a versão free/demo põe uma maldita marca d'água. Senão os problemas estariam resolvidos.


    Iterar é humano, a recursão é divina. Espero ter ajudado, att.


    • Editado alvarok terça-feira, 4 de dezembro de 2012 18:47
    • Marcado como Resposta alvarok sexta-feira, 24 de outubro de 2014 15:19
    • Não Marcado como Resposta alvarok sexta-feira, 24 de outubro de 2014 15:20
    terça-feira, 4 de dezembro de 2012 18:46
  • Outro que funciona, mas põe marca d'água:

    http://www.essentialobjects.com/Products/EOPdf/HtmlToPdf.aspx


    Iterar é humano, a recursão é divina. Espero ter ajudado, att.

    quarta-feira, 5 de dezembro de 2012 11:45