Desenvolvimento - C#
Gerando arquivos PDF em C#
Este artigo explica como gerar um documento no formato PDF.
por Antonio Lucas Finotti PereiraNeste artigo vou explicar como gerar um arquivo PDF utilizando c#. Vamos utilizar uma classe free chamada REPORTS.NET (http://csharp-source.net/open-source/pdf-libraries/report.net). Essa classe é opensource e pode ser baixada do site: http://report.sourceforge.net/.
Primeiro vamos iniciar um novo projeto:
Primeiro vamos selecionar a opção Visual C# da área Project types e no Templates, escolheremos a opção Windows Application.
O nome dele será GERA_PDF, após dar o nome ao projeto vamos clicar em OK !
Depois temos que incluir a classe nas referências do projeto. Primeiro selecionamos a aba SOLUTION EXPLORER e depois vamos clicar o botão direito do mouse na opção REFERENCES e selecionar ADD REFERENCES.
OBS: Nesta opção podemos incluir diversas classes no nosso projeto, podemos também incluir uma classe do Visual Basic, assim podemos utilizar algumas funções que o VB possui.
Será exibida a janela do Add Reference, nela você terá que ir para a aba BROWSE, para poder navegar entre as pastas do seu computador e selecionar o arquivo baixado pelo site.
Após selecionar o arquivo desejado, clique no botão OK.
Vamos agora para o formulário do projeto, vamos montar um layout para que o usuário informe algumas informações para que o arquivo seja gerado. Abaixo segue um modelo!
Depois de montar a tela do programa, vamos para o código do aplicativo. Primeiramente precisamos incluir a classe no inicio da pagina de código do formulário. Para acessar a pagina de código do formulário, você pode clicar duas vezes na área do formulário ou clicar o botão direito do mouse e selecionar VIEW CODE.
Precisamos inserir a linha que está na cor vermelha:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Root.Reports;
Agora vamos codificar o botão [GERAR ARQUIVO], para isso temos que voltar para o design do formulário, clique o botão direito do mouse e selecione VIEW DESIGNER. Após isso clique duas vezes no botão para abrir o método btnGerar_Click().
Segue abaixo como o evento do botão deve ficar:
private void btnGerar_Click(object sender, EventArgs e)
{
// Variavel do Nome e caminho do arquivo
string vArq = "";
// Abre janela para usuário escolher a pasta onde o arquivo será gerado
FolderBrowserDialog vSalvar = new FolderBrowserDialog();
// Verifica se o usuário clicou em ok ou cancelar na janela de seleção da pasta
if (vSalvar.ShowDialog() == DialogResult.Cancel)
return; // Cancela todo processo
// Insere na variavel o caminho selecionado pelo usuário e concatena com o nome do arquivo
vArq = vSalvar.SelectedPath + "\\" + txtNomeArquivo.Text.Trim() + ".pdf";
try
{
// Cria um objeto PDF
Report vPdf = new Report(new PdfFormatter());
// Define a fonte que sera usada no relatório PDF
FontDef vDef = new FontDef(vPdf, FontDef.StandardFont.TimesRoman);
FontProp vDrop = new FontProp(vDef, 10);
// Cria uma Nova Pagina
Page vPage = new Page(vPdf);
// Escreve no Arquivo
vPage.AddCB_MM(5, new RepString(vDrop, txtTextoArquivo.Text)); // Centraliza
// Salvar Arquivo no disco
vPdf.Save(vArq);
MessageBox.Show("Arquivo Gerado com sucesso !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("Erro ao Gerar arquivo !!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
Exemplo do aplicação funcionando.
1 – Informar o Nome do arquivo
2 – Digitar o Texto que será gravado no arquivo
3 – Clicar em gerar
Após isso será exibida a janela para selecionar onde o arquivo será gerado, e ao clicar em ok será exibida uma mensagem avisando se tudo ocorreu bem ou se deu algum tipo de erro.
Segue o exemplo do arquivo gerado pelo sistema: