Baixe o app para aproveitar ainda mais
Prévia do material em texto
2/11/2018 C# - Convertendo PDF para Texto com iTextSharp http://www.macoratti.net/14/04/c_pdftxt1.htm 1/6 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; 2/11/2018 C# - Convertendo PDF para Texto com iTextSharp http://www.macoratti.net/14/04/c_pdftxt1.htm 2/6 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 : 2/11/2018 C# - Convertendo PDF para Texto com iTextSharp http://www.macoratti.net/14/04/c_pdftxt1.htm 3/6 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)); } 2/11/2018 C# - Convertendo PDF para Texto com iTextSharp http://www.macoratti.net/14/04/c_pdftxt1.htm 4/6 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) 2/11/2018 C# - Convertendo PDF para Texto com iTextSharp http://www.macoratti.net/14/04/c_pdftxt1.htm 5/6 { 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 2/11/2018 C# - Convertendo PDF para Texto com iTextSharp http://www.macoratti.net/14/04/c_pdftxt1.htm 6/6 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
Compartilhar