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;
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:
Defina os controles conforme o leiaute da figura abaixo :
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));
}
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)
{
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
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#