Você está na página 1de 6

2/11/2018 C# - Convertendo PDF para Texto com iTextSharp

C# - Convertendo PDF para Texto com


iTextSharp

O iText é uma biblioteca de PDF que permite que você crie, adapte, inspecione e mantenha
documentos no formato PDF - http://sourceforge.net/projects/itextsharp/.

Ela possui os seguintes recursos:

- Gera documentos e relatórios com base em dados de um arquivo XML ou um banco de dados
- Cria mapas e livros , explorando inúmeros recursos interativos disponíveis em PDF
- Adiciona marcadores, números de páginas , marcas d'água e outros recursos para
documentos PDF existentes
- Separa ou concatena páginas de arquivos PDF existentes
- Preenche formulários interativos
- Serve documentos PDF gerados dinamicamente ou manipulados para um navegador web

A livraria iText é usada pelo Java, plataforma .NET, Android e desenvolvedores GAE para
melhorar suas aplicações com funcionalidade PDF.

O iTextSharp é o porte para a plataforma .NET.

Vários engenheiros do iText estão apoiando ativamente o projeto no iText mailing-list itext-
questions@lists.sourceforge.net  e  no StackOverflow: 
http://stackoverflow.com/questions/tagged/itext

Neste artigo vamos usar o iTextSharp para converter um documento PDF para texto usando a
linguagem C#.

A primeira coisa a fazer é realizar o download da biblioteca iTextSharp no site :


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

Criando o projeto no Visual Studio


Abra o  Visual Studio 2012 for Windows Desktop e clique em New Project;

A seguir selecione o tempalte Visual C# -> Windows Forms Application e informe o nome
Converte_PDF_Texto e clique em OK;

http://www.macoratti.net/14/04/c_pdftxt1.htm 1/6
2/11/2018 C# - Convertendo PDF para Texto com iTextSharp

No menu PROJECT clique em Add Reference;

A seguir clique em Browse e localize a pasta onde você descompactou a biblioteca


iTextSharp selecionando o arquivo itextsharp.dll;

A partir da ToolBox inclua os seguintes controles no formulário form1.cs:

1 Label - (Informe o caminho e nome do arquivo pDF)


1 TextBox - txtCaminoNomePDF
1 Button -  btnConvertePDF
1 Button -  btnProcurar
1 OpenFileDialog = ofd1

Defina os controles conforme o leiaute da figura abaixo :

http://www.macoratti.net/14/04/c_pdftxt1.htm 2/6
2/11/2018 C# - Convertendo PDF para Texto com iTextSharp

Agora vamos criar a classe ConvertePDF e o método ExtrairTexto_PDF() em nosso projeto;

Clique no menu PROJECT e a seguir em Add Class;

Selecione o template Class e informe o nome ConvertePDF;

A seguir defina o código abaixo na classe:

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.Text;

namespace Converte_PDF_Texto
{
public class ConvertePDF
{
public string ExtrairTexto_PDF(string caminho)
{
using (PdfReader leitor = new PdfReader(caminho))
{
StringBuilder texto = new StringBuilder();

for (int i = 1; i <= leitor.NumberOfPages; i++)


{
texto.Append(PdfTextExtractor.GetTextFromPage(leitor, i));
}

http://www.macoratti.net/14/04/c_pdftxt1.htm 3/6
2/11/2018 C# - Convertendo PDF para Texto com iTextSharp

return texto.ToString();
}
}
}
}

No evento Click do botão de comando Procurar inclua o código abaixo que usa o componente
OpenFIleDialog para abrir uma caixa de diálogo Abrir Arquivos:

private void btnProcurar_Click(object sender, EventArgs e)


{
//define as propriedades do controle
//OpenFileDialog
this.ofd1.Multiselect = false;
this.ofd1.Title = "Selecionar PDF";
ofd1.InitialDirectory = @"C:\dados";
//filtra para exibir somente arquivos de imagens
ofd1.Filter = "Files (*.PDF)|*.PDF|" + "All files (*.*)|*.*";
ofd1.CheckFileExists = true;
ofd1.CheckPathExists = true;
ofd1.FilterIndex = 2;
ofd1.RestoreDirectory = true;
ofd1.ReadOnlyChecked = true;
ofd1.ShowReadOnly = false;

DialogResult dr = this.ofd1.ShowDialog();

if (dr == System.Windows.Forms.DialogResult.OK)
{
txtCaminoNomePDF.Text = ofd1.FileName;
}
}

Agora no evento Click do botão de comando Converter para texto inclua o código abaixo:

private void btnConvertePDF_Click(object sender, EventArgs e)


{
try
{
ConvertePDF pdftxt = new ConvertePDF();
txtArquivoTexto.Text = pdftxt.ExtrairTexto_PDF(txtCaminoNomePDF.Text);
}
catch (Exception ex)

http://www.macoratti.net/14/04/c_pdftxt1.htm 4/6
2/11/2018 C# - Convertendo PDF para Texto com iTextSharp

{
MessageBox.Show(ex.Message);
}
}

O código acima é muito simples. Ele cria uma instância da classe ConvertePDF() e a seguir
usa o método ExtrairTexto_PDF() passando o caminho e nome do arquivo selecionado para
conversão.

Executando o projeto e selecionando um arquivo PDF vemos o resultado conforme figura a


seguir:

Existem muitas outras maneiras de obtermos o mesmo resultado mas este código é muito
simples e ideal para arquivos PDF pequenos.

Pegue o projeto completo aqui: Converte_PDF_Texto.zip

João 8:49 Jesus respondeu: Eu não tenho demônio; antes honro a meu Pai, e
vós me desonrais.
João 8:50 Eu não busco a minha glória; há quem a busque, e julgue.
João 8:51 Em verdade, em verdade vos digo que, se alguém guardar a minha
palavra, nunca verá a morte.

             Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

http://www.macoratti.net/14/04/c_pdftxt1.htm 5/6
2/11/2018 C# - Convertendo PDF para Texto com iTextSharp

Referências:

Seção VB .NET do Site Macoratti.net


Super DVD .NET - A sua porta de entrada na plataforma .NET
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Seção C# do site Macoratti.net
ASP .NET - Gerando arquivos PDF - Macoratti.net
ASP .NET - Exportando um GridView para PDF - Macoratti.net
ASP .NET MVC 3 - Gerando PDF (C#) - Macoratti.net 

José Carlos Macoratti

http://www.macoratti.net/14/04/c_pdftxt1.htm 6/6

Você também pode gostar