none
Gerar PDF MVC4 C# open source RRS feed

  • Pergunta

  • Olá, alguém tem alguma recomendação para gerar PDF open source?

    Eu usei ROTATIVA, mas tive problemas com o meu provedor com a resposta abaixo:

    Informamos que não é possível rodar arquivos executáveis (.exe) em nossos servidores, por questões de segurança do ambiente compartilhado.

    Estou tentando iTextSharp, mas não encontro exemplos em MVC4 para formatação de pagina.

    segunda-feira, 8 de junho de 2015 14:17

Respostas

  • Bom dia,

    você pode utilizar a biblioteca Reports.NET Library, já utilizei há algum tempo, porém ela requer mais cuidado para alinhamento de objetos na tela.

    Segue o link:

    http://sourceforge.net/projects/report/

    Att,

    Lucio Rogerio


    Espero ter ajudado, se ajudei, por favor "Vote como Útil", e se resolvi seu problema, clique em "Propor como Resposta".
    • Marcado como Resposta Wilson Boris terça-feira, 9 de junho de 2015 11:26
    segunda-feira, 8 de junho de 2015 14:33
  • O rotativa usa o wkhtmltopdf, que é um utilitario de linha de comando que renderiza um pdf a partir de HTML e CSS (mesmo javascript). Lembrando o que o iTextSharp nao faz isso. Ele cria um PDF mas nao a partir de uma pagina.

    Eu tinha o mesmo problema, nao era possivel usar um exe a partir do servidor IIS. Entao eu vi este outro projeto:

    https://github.com/tuespetre/TuesPechkin

    Ele faz a mesma coisa que o Rotativa, mas ele é baseado na DLL do  wkhtmltopdf e nao no executavel.

    Tres coisas que vao te ajudar a ganhar tempo:

    1- Nao use arquivos CSS e codifique os estilos na propria pagina (Eu tive problemas de segurança. na hora da renderizaçao a DLL tentava acessar o endereço do CSS e IIS bloqueava o acesso)

    2- Imagens devem ser convertidas para Base64 (pelos mesmo motivos do item 1, a dll nao tinha acesso a um endereço externo e as imagens nao eram renderizadas)

    3 - Use o seguinte template:

          private static IDeployment specificPath = new StaticDeployment(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wk"));
            private static IConverter anotherConverter = new ThreadSafeConverter(new RemotingToolset<PdfToolset>(specificPath));

    Com isso vc nao vai ter o problema do IIS "travar" no momento da renderizaçao do PDF (eu tive esse probelma quando dois usuarios simultaneamente tentavam renderizar o PDF)

    ATT


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------



    segunda-feira, 8 de junho de 2015 14:50
    Moderador
  • O melhor que usei até hoje

    https://github.com/bpampuch/pdfmake


    Att. Andre de Mattos Ferraz - www.iamferraz.com.br

    segunda-feira, 8 de junho de 2015 16:29

Todas as Respostas

  • O iTextSharp é uma opção bem popular também:

    https://www.nuget.org/packages/iTextSharp/

    segunda-feira, 8 de junho de 2015 14:49
  • O rotativa usa o wkhtmltopdf, que é um utilitario de linha de comando que renderiza um pdf a partir de HTML e CSS (mesmo javascript). Lembrando o que o iTextSharp nao faz isso. Ele cria um PDF mas nao a partir de uma pagina.

    Eu tinha o mesmo problema, nao era possivel usar um exe a partir do servidor IIS. Entao eu vi este outro projeto:

    https://github.com/tuespetre/TuesPechkin

    Ele faz a mesma coisa que o Rotativa, mas ele é baseado na DLL do  wkhtmltopdf e nao no executavel.

    Tres coisas que vao te ajudar a ganhar tempo:

    1- Nao use arquivos CSS e codifique os estilos na propria pagina (Eu tive problemas de segurança. na hora da renderizaçao a DLL tentava acessar o endereço do CSS e IIS bloqueava o acesso)

    2- Imagens devem ser convertidas para Base64 (pelos mesmo motivos do item 1, a dll nao tinha acesso a um endereço externo e as imagens nao eram renderizadas)

    3 - Use o seguinte template:

          private static IDeployment specificPath = new StaticDeployment(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wk"));
            private static IConverter anotherConverter = new ThreadSafeConverter(new RemotingToolset<PdfToolset>(specificPath));

    Com isso vc nao vai ter o problema do IIS "travar" no momento da renderizaçao do PDF (eu tive esse probelma quando dois usuarios simultaneamente tentavam renderizar o PDF)

    ATT


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------



    segunda-feira, 8 de junho de 2015 14:50
    Moderador
  • O melhor que usei até hoje

    https://github.com/bpampuch/pdfmake


    Att. Andre de Mattos Ferraz - www.iamferraz.com.br

    segunda-feira, 8 de junho de 2015 16:29
  • Olá André,

    esta bilblioteca é gratuita?

    segunda-feira, 8 de junho de 2015 17:20
  • Não conheço, mas estando no GitHub (que hospeda projetos open source) quase certeza de ser.
    segunda-feira, 8 de junho de 2015 17:38
  • Sim.

    License: MIT

    http://opensource.org/licenses/MIT


    Att. Andre de Mattos Ferraz - www.iamferraz.com.br

    segunda-feira, 8 de junho de 2015 20:17