none
Gerar PDF (com webform todo) usando o iTextSharp + Asp.Net RRS feed

  • Pergunta

  • Olá a todos!

    Sei que esse assunto é meio batido, mas posso garantir que procurei em todos os lugares possíveis e imaginais e não consegui encontrar nada que funcione de acordo com a minha necessidade (já procurei muito, mas muito mesmo. Acreditem!).


    Bem, tenho um formulário com alguns campos e dois GridViews na mesma tela.
    O que eu preciso é passar todo esse formulário para o PDF não importa se será exibido para o cliente no navegador ou feito download.


    Com o código abaixo, eu consigo gerar direitinho, mas na parte destacada do código eu preciso usar uma sintaxe para que, ao invés de exibir "TEXTO", exibisse exatamente o meu formulário.

     

        ' * Cria um stream para enviar o documento ao usuário
        Dim stream As New MemoryStream()
        ' * Instancia o objeto documento
        Dim documento As New Document(PageSize.A4)
    
        PdfWriter.GetInstance(documento, stream)
        ' * Abre o documento
        documento.Open()
    
        '***Adiciona um parágrafo***************
        documento.Add(New Paragraph("Texto")) '* É aqui que tenho que modificar =/
        '***************************************
    
        Dim stringWrite = New System.IO.StringWriter()
    
        ' * Fecha o documento
        documento.Close()
    
        ' * Enviando o documento ao usuário
        ' * Especifica o MIMETYPE
        Response.ContentType = "application/pdf"
        ' * Altera o cabeçalho da página
        Response.AddHeader("content-disposition", "inline; filename=documento.pdf")
        ' * Libera o documento
        Response.OutputStream.Write(stream.GetBuffer(), 0, stream.GetBuffer().Length)
        Response.OutputStream.Flush()
        Response.OutputStream.Close()
    

     

    Vi muita coisa do tipo criar as tabelas na mão mas sei lá, achei meio complicado uma vez que tenho pronto já o formulário e dificilmente vou conseguir fazer igual no codebehind. Isso fora o fato da minha .aspx onde está o form com os campos, ter mais 2 GridViews =/


    O código acima funciona bem, o problema é que não sei como colocar o meu form no lugar do "New Paragraph("TEXTO")".


    Me desculpem por postar isso de novo visto que aqui mesmo possui bastante tópicos sobre isso mas é que eu realmente li todos (pelo menos os que tinham PDF no título) e nenhum deles me ajudaram.


    Referência do código:
    http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/9d51937a-7d0c-4a0f-b51b-e23e3f4c8040


    Asp.Net + Vb.Net/C# @Visual Studio 2008 Framework 2.0/3.5


    Obrigado a todos por enquanto!

     

    quarta-feira, 17 de novembro de 2010 21:47

Respostas

  • Look

    http://somewebguy.wordpress.com/2009/05/08/itextsharp-simplify-your-html-to-pdf-creation/

    http://hspinfo.wordpress.com/2008/01/12/how-to-convert-html-content-to-pdf-file/

    http://stackoverflow.com/questions/415535/maintain-css-styling-when-converting-html-to-pdf-in-asp-net

    http://beebole.com/en/blog/general/convert-html-to-pdf-with-full-css-support-an-opensource-alternative-based-on-webkit/

    quinta-feira, 18 de novembro de 2010 11:30
    Moderador

Todas as Respostas

  • Look

    http://somewebguy.wordpress.com/2009/05/08/itextsharp-simplify-your-html-to-pdf-creation/

    http://hspinfo.wordpress.com/2008/01/12/how-to-convert-html-content-to-pdf-file/

    http://stackoverflow.com/questions/415535/maintain-css-styling-when-converting-html-to-pdf-in-asp-net

    http://beebole.com/en/blog/general/convert-html-to-pdf-with-full-css-support-an-opensource-alternative-based-on-webkit/

    quinta-feira, 18 de novembro de 2010 11:30
    Moderador
  • Olá Seilor. Obrigado por responder...

    Passei a manha inteira estudando esses links, mas infelizmente nenhum deles tem o que preciso. Bem, pelo menos eu não achei.

    O que eu preciso é algo como:

     documento.Add(New
     Form(Meu_Web_Form))
    documento.Close()

     

    Seria mais ou menos isso. Não sei se é possível mais, vou continuar procurando porque em todos os links que vejo, o pessoal diz para montar o HTML no codebehind. Aí é tenso =/

    Enfim, mais uma vez obrigado e se souber de outra alternativa para que eu possa gerar o meu WebForm todo, por favor me avise.

    Abs!

    quinta-feira, 18 de novembro de 2010 15:27
  • Ninguém mais? Pode ser outra forma (menos Cristal Report e Report Viewer) que, se funcionar mesmo, eu mudo tranquilamente...

    Abs!

    sexta-feira, 19 de novembro de 2010 11:13
  • Olá, Existe um componente baseado em ITextSharp, chamado PDFizer que permite converter HTML em PDF de acordo com a url, ou seja você pode passar o caminho da página que deseja ler o Html e em cima do Html Lido para a página o componente gera o PDF.

    Ele é bem simples de trabalhar e funciona, o problema é que para páginas HTML mais complexas ele não reconhece todas as tags.
    Abaixo o link:

    http://www.codeproject.com/KB/cs/pdfizer.aspx

    Basta baixar, adicionar referencia a dll no seu WebSite ASP.NET depois é só usar conforme os exemplos demonstrados no link.

    Atenciosamente


    Se o post foi útil marque como resposta. - Advanced Web Application - MCP - Twitter: @mpghelli
    terça-feira, 23 de novembro de 2010 17:21
  • Olá Gil,

    Caso seu problema tenha sido resolvido, favor marcar como resposta os posts que lhe ajudaram a resolver o problema, pois isto facilita aos demais usuários do forúm a encontrarem as informações procuradas.

    Caso ainda o problema ainda não tenha sido resolvido, você pode identificar o que não está dando certo para que possamos respondê-la?

    Obrigado


    Se o post foi útil marque como resposta. - Advanced Web Application - MCP - Twitter: @mpghelli
    quinta-feira, 25 de novembro de 2010 16:13