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
- Caminho do PDF: Definimos o caminho onde o arquivo PDF será salvo.
- PdfWriter: Criamos um objeto
PdfWriter
que escreve o PDF para o arquivo. - PdfDocument: Um objeto
PdfDocument
é criado para representar o documento PDF. - Document: Usamos um objeto
Document
para adicionar conteúdo ao PDF. - Adicionar conteúdo: Usamos o método
Add
para incluir títulos, parágrafos e listas. - 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:
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!
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:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários