Gerar arquivos PDF é uma tarefa comum em muitas aplicações, seja para criar relatórios, faturas ou documentos de qualquer tipo. Em C#, existem várias bibliotecas que facilitam a criação de PDFs. Neste post, vamos explorar como gerar arquivos PDF em C# usando a biblioteca iTextSharp, uma das mais populares para esse propósito.

Passos para gerar um PDF com iTextSharp

Instalação do iTextSharp: Primeiramente, você precisa instalar a biblioteca iTextSharp em seu projeto. Você pode fazer isso através do NuGet Package Manager no Visual Studio.

No Console do Gerenciador de Pacotes, execute:

Install-Package itext7

Criar um PDF: A seguir, vamos criar um exemplo simples que gera um arquivo PDF contendo algum texto.

    Exemplo de implementação

    Veja um exemplo de código que cria um arquivo PDF básico com iTextSharp:

    using System;
    using System.IO;
    using iText.Kernel.Pdf;
    using iText.Layout;
    using iText.Layout.Element;
    
    class Program
    {
        static void Main()
        {
            // Caminho onde o PDF será salvo
            string caminhoPDF = "exemplo.pdf";
    
            // Criar um objeto PdfWriter
            using (PdfWriter writer = new PdfWriter(caminhoPDF))
            {
                // Criar um objeto PdfDocument
                using (PdfDocument pdf = new PdfDocument(writer))
                {
                    // Criar um objeto Document
                    Document document = new Document(pdf);
                    
                    // Adicionar um título
                    document.Add(new Paragraph("Título do Documento").SetFontSize(20));
                    
                    // Adicionar um parágrafo de texto
                    document.Add(new Paragraph("Este é um exemplo de geração de arquivos PDF em C#."));
                    
                    // Adicionar uma lista
                    List lista = new List();
                    lista.Add(new ListItem("Item 1"));
                    lista.Add(new ListItem("Item 2"));
                    lista.Add(new ListItem("Item 3"));
                    document.Add(lista);
                    
                    // Fechar o documento
                    document.Close();
                }
            }
    
            Console.WriteLine("PDF gerado com sucesso em: " + Path.GetFullPath(caminhoPDF));
        }
    }

    Explicação do código

    1. Caminho do PDF: Definimos o caminho onde o arquivo PDF será salvo.

    2. PdfWriter: Criamos um objeto PdfWriter que escreve o PDF para o arquivo.

    3. PdfDocument: Um objeto PdfDocument é criado para representar o documento PDF.

    4. Document: Usamos um objeto Document para adicionar conteúdo ao PDF.

    5. Adicionar conteúdo: Usamos o método Add para incluir títulos, parágrafos e listas.

    6. Fechar o documento: Após adicionar todo o conteúdo, fechamos o documento para garantir que tudo seja salvo corretamente.

    Execução do código

    Ao executar o código acima, um arquivo chamado exemplo.pdf será gerado no diretório do projeto, contendo um título, um parágrafo de texto e uma lista de itens.

    Método manual

    1. Baixe as bilbiotecas iTextSharp clicando aqui;

    2. Descompacte os arquivos “itextsharp-dll-core.zip”, “itextsharp-dll-pdfa.zip” e “itextsharp-dll-xtra.zip” dentro da pasta bin/Debug do seu projeto;

    3. Adicione as referências ao seu projeto:

    solution explorer csharp

    4. Inclua as bibliotecas no projeto:

    using iTextSharp.text;
    using iTextSharp.text.pdf;
    using System.IO;

    5. Crie um método para receber o caminho do arquivo a ser convertido em PDF:

    private void geraPDF(string caminhoArquivo) { 
              
    try
     {
        //Cria nome do arquivo PDF com base no nome do arquivo TXT, alterando apenas a extensão
        string txtOutput = caminhoArquivo.Replace(".txt", ".pdf");                                
    
        //Lê os dados do arquivo de entrada
        StreamReader rdr = new StreamReader(caminhoArquivo);
    
        //Cria uma nova instância da classe de Document
        Document doc = new Document(PageSize.A4, 10f, 10f, 10f, 0f); //Configura as margens do documento
    
        //Create a New instance of PDFWriter Class for Output File
        PdfWriter.GetInstance(doc, new FileStream(txtOutput, FileMode.Create));
    
        //Cria uma nova instância da classe PDFWriter para o arquivo de saída
        doc.Open();
    
        //Logotipo
        iTextSharp.text.Image imagemPDF =   iTextSharp.text.Image.GetInstance("C:\\Users\\Benedito\\Documents\\pdf\\logo.png");
        imagemPDF.ScaleAbsolute(120f, 50f); //altera as dimensões da imagem
        doc.Add(imagemPDF); //adiciona a imagem no documento                
    
        //Adiciona o conteúdo do arquivo de texto ao arquivo PDF
        doc.Add(new Paragraph(rdr.ReadToEnd()));
    
        //Fecha o documento
        doc.Close();
        rdr.Close();
    
      } catch (Exception e) {
                   
           MessageBox.Show(e.StackTrace);
      }
    }

    6. Crie um botão para chamar o método e fazer a criação do arquivo PDF:

    private void geraPDF(string caminhoArquivo) {
    
      string caminho = textBox1.Text;
    
      //Chama o método e passa o caminho do arquivo TXT
      geraPDF(caminho);
    
      //Abre o documento PDF
      System.Diagnostics.Process.Start("C:\\Users\\Benedito\\Documents\\pdf\\arquivo.pdf");
    }

    A videoaula abaixo ensina, passo a passo, os procedimentos descritos acima:

    Gerar arquivos PDF em C# é uma tarefa simples com a biblioteca iTextSharp.

    Com apenas algumas linhas de código, você pode criar documentos ricos em conteúdo e formatados de forma profissional. Experimente modificar o exemplo acima para incluir mais elementos, como imagens e tabelas, e aproveite o poder da geração de PDFs em suas aplicações!

    Aprenda do zero ou aprimore seus conhecimentos em C#. Domine os conceitos de Orientação a Objetos e crie sistemas complexos integrados com banco de dados.

    CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.

    CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

    CLIQUE AQUI E SAIBA MAIS

    Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
     https://youtube.com/criandobits

    Tags:

    Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

    Não enviamos spam. Seu e-mail está 100% seguro!

    Sobre o Autor

    Bene Silva Júnior
    Bene Silva Júnior

    Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

    0 Comentários

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *