none
criar pdf a partir de imagem

    Question

  • pessoal, tenho uma pasta com imagens retornadas do banco, preciso de um codigo que pegue essas imagens e monte um pdf, alguem conhece algum codigo ou componente para implementar isso ?

    estou usando c#/vs2008


    alessandre
    Sunday, May 23, 2010 1:21 AM

All replies

  • Alessandre,

    Segue abaixo uma opção.

    PDFSharp
    http://www.pdfsharp.net/

    PDFsharp Sample: Export Images
    http://www.pdfsharp.net/wiki/ExportImages-sample.ashx

    Att.

    Ari C. Raimundo
    MCAD, MCTS
    http://araimundo.blogspot.com

    Sunday, May 23, 2010 11:51 PM
    Moderator
  • Uso este método, com iTextSharp:

     

        private void CreatePdfDocumentFromImages(string[] images, string path)
        {
            try
            {
                // cria uma instância de iTextSharp.text.Document em paisagem
                Document documento = new Document(PageSize.A4.Rotate());

                // cria um Writer para o documento
                PdfWriter.GetInstance(documento, new FileStream(path, FileMode.Create));

                // abre o documento
                documento.Open();

                // cria um objeto para imagem
                iTextSharp.text.Image imagem = null;

                for (int i = 0; i < images.Length; i++)
                {
                    // adiciona cada uma das imagens
                    imagem = iTextSharp.text.Image.GetInstance(images[i]);
                    // adiciona conteúdo
                    documento.Add(imagem);
                }

                // fecha o documento
                documento.Close();
                // limpa o buffer
                HttpContext.Current.Response.Flush();
            }
            catch
            {
                Response.Write("Erro ao gerar arquivo PDF.");
            }
        }

    Exemplo de uso:

    CreatePdfDocumentFromImages(new string[] { @"C:\google.jpg", @"C:\gmail.jpg" }, @"C:\exemplo.pdf");

    Espero ter ajudado,

    Abraços


    Rodolfo Paoni
    • Proposed as answer by Rodolfo Paoni Monday, May 31, 2010 2:23 PM
    Monday, May 31, 2010 2:22 PM
  • Rodolfo onde vc encontrou a dll do itextpdf, ou ele é instalado ?

     

    tentei usar o seu codigo, mas nao sei quais os 'using' que devo fazer


    alessandre
    Friday, June 04, 2010 12:45 PM
  • Apenas adiciona a dll no teu projeto e usa os namespaces:


    using iTextSharp.text;

    using iTextSharp.text.pdf;


    msn: poseidonfba@hotmail.com
    Friday, June 04, 2010 12:48 PM
  • E baixe a dll aqui:

    http://sourceforge.net/projects/itextsharp/


    msn: poseidonfba@hotmail.com
    Friday, June 04, 2010 12:50 PM
  • Olá rodolfo consegui fazer funcionar, mas o problema é o seguinte, a imagem aparece cortada no pdf, ou seja, ele nao esta ajustando o tamanho da imagem para a4. sabe como fazer isso ?
    alessandre
    Friday, June 04, 2010 1:03 PM
  • Vc pode ajustar o tamanho da página ou diminuir a imagem para colocar no arquivo.

    Modifique a linha "Document documento = new Document(PageSize.A4.Rotate());",

    colocando em vez de A4 outro tamanho de página que queira, ou coloque imagens que caibam dentro de uma página deste tamanho.

    Este método eu preparei para colocar uma imagem por página.

    Se houver interesse em outros detalhes relativos a PDF, acesse meu blog com esta tag:

    http://rodolfopaoni.ctallen.com.br/?tag=/pdf

    Lá eu mostro outras possibilidades...

    Espero ter sido útil,

    Abraços,

    Rodolfo Paoni


    Rodolfo Paoni
    Friday, June 04, 2010 6:28 PM