none
converter de pdf para .txt tem como?

    Question

  • bom dia!

    pessoal teria como eu converter de pdf para .txt?

    se alguem souber por favor me ajude.

    Att.

    Tiago

    Monday, August 22, 2011 2:12 PM

Answers

  • Sim.. é possivel extrair o texto de um pdf, mas lembre-se que a formaçao do mesmo pode ser um empecilho.

    Vej o projeto abaixo:

    http://www.codeproject.com/KB/cs/PDFToText.aspx

     

    Ele utiliza o componte open-source iTextSharp.. Este componente é gratuito para aplicaçoes open-source. Se vc deseja vender seu programa fechado, lembre que dai vc vai ter que compra-lo.

     

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    • Proposed as answer by Breno Riba Monday, August 22, 2011 4:12 PM
    • Marked as answer by Tiago sa Monday, August 22, 2011 7:06 PM
    Monday, August 22, 2011 2:56 PM
  • Ola,

     

    Note que ele faz referencia a uma outra classe nesse ponto:

    PDFParser pdfParser = new PDFParser();

    Vc viu que existem dois arquivos no projeto: a classe principal (console) e uma classe chamada PDFParser. é na classe que o carregamento é feito.

    Veja a linha após essa acima:

     

     

    pdfParser.ExtractText(file,Path.GetFileNameWithoutExtension(file)+".txt");

     

    aqui ele pega o arquivo pdf e gera um txt com o mesmo nome.

     

     

    file vem dos parametro de entrada do console... o autor quis criar um aplicativo de linha de comando tipo DOS. Nessa linha é que o arquivo informado

    string file = args[0] ;

    vc poderia fazer:

    pdfParser.ExtractText(@"c:\temp\teste.pdf",@"c:\temp\teste.txt");

     

    É isso que vc queria saber?

     

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    • Marked as answer by Tiago sa Monday, August 22, 2011 7:06 PM
    Monday, August 22, 2011 6:22 PM

All replies

  • Sim.. é possivel extrair o texto de um pdf, mas lembre-se que a formaçao do mesmo pode ser um empecilho.

    Vej o projeto abaixo:

    http://www.codeproject.com/KB/cs/PDFToText.aspx

     

    Ele utiliza o componte open-source iTextSharp.. Este componente é gratuito para aplicaçoes open-source. Se vc deseja vender seu programa fechado, lembre que dai vc vai ter que compra-lo.

     

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    • Proposed as answer by Breno Riba Monday, August 22, 2011 4:12 PM
    • Marked as answer by Tiago sa Monday, August 22, 2011 7:06 PM
    Monday, August 22, 2011 2:56 PM
  • Boa tarde amigo!

    nao consegui enterder nesse exemplo (pela minha falta de conhecimento e experiencia) onde é colocado o caminho de entrada do pdf .

    poderia me ajudar?

     

    Monday, August 22, 2011 4:55 PM
  • Voce baixou o codigo?

     

    Dentro do codigo do autor esta explicado como ele faz apra ler o arquivo PDF

    Basicamente ele usa o metodo PdfReader da bibliteca iTextSharp.. ela se encarrega da leitura do arquivo pdf.

    http://itextpdf.com/itext.php

     

    aqui esta um exemplo do uso do metodo PdfReader

    http://itextpdf.com/examples/iia.php?id=108

     

     

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

     


    Monday, August 22, 2011 5:21 PM
  • cara ainda nao entendi o mais perdido nesse codigo do que cego em tiroteio!

    rss


    segue partes do codigo por favor apenas me indique onde mostro o carquivo de entrada e o de saida!

    using System;
    using System.Text;
    using System.IO;
    
    namespace PdfToText
    {
      /// <summary>
      /// The main entry point to the program.
      /// </summary>
      class Program
      {
        static void Main(string[] args)
        {
          try
          {
            if (args.Length < 1)
            {
              DisplayUsage();
              return;
            }
    
            string file = args[0];
            if (!File.Exists(file))
            {
              file = Path.GetFullPath(file);
              if (!File.Exists(file))
              {
                Console.WriteLine("Please give in the path to the PDF file.");
              }
            }
    
            PDFParser pdfParser = new PDFParser();
            pdfParser.ExtractText(file, Path.GetFileNameWithoutExtension(file)+".txt");
          }
          catch (Exception exc)
          {
            Console.WriteLine(exc);
          }
        }
    
        static void DisplayUsage()
        {
          Console.WriteLine();
          Console.WriteLine("Usage:\tpdftotext FILE");
          Console.WriteLine();
          Console.WriteLine("\tFILE\t the path to the PDF file, it may be relative or absolute.");
          Console.WriteLine();
        }
      }
    }
    


    Monday, August 22, 2011 6:09 PM
  • Ola,

     

    Note que ele faz referencia a uma outra classe nesse ponto:

    PDFParser pdfParser = new PDFParser();

    Vc viu que existem dois arquivos no projeto: a classe principal (console) e uma classe chamada PDFParser. é na classe que o carregamento é feito.

    Veja a linha após essa acima:

     

     

    pdfParser.ExtractText(file,Path.GetFileNameWithoutExtension(file)+".txt");

     

    aqui ele pega o arquivo pdf e gera um txt com o mesmo nome.

     

     

    file vem dos parametro de entrada do console... o autor quis criar um aplicativo de linha de comando tipo DOS. Nessa linha é que o arquivo informado

    string file = args[0] ;

    vc poderia fazer:

    pdfParser.ExtractText(@"c:\temp\teste.pdf",@"c:\temp\teste.txt");

     

    É isso que vc queria saber?

     

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    • Marked as answer by Tiago sa Monday, August 22, 2011 7:06 PM
    Monday, August 22, 2011 6:22 PM
  • testei aqui e era isso mesmo...

    uma outra perguntinha willian saberia me dizer o motivo de o txt nao ser fiel ao pdf?

    ele vem desalinhado e com caracteres estranhos, tipo uns quadradinhos e varias linhas puladas.

     

    Monday, August 22, 2011 6:37 PM
  • Depende do PDF.. O problema é que o pdf pode ser criado com fontes nao padrao... as vezes o autor faz isso para evitar copias ou por simples estetica...

    Mas como eu disse na minha primeira resposta, a formataçao de um PDF tem papel chave.

    Se vc extrair o texto de um pdf que use uma tabela, vai ver que ele bagunça tudo...

     

    Mais uma vez, é possivel extrair o texto de um PDF mas o resultado nem sempre é o desejado e isso é culpa do padrao PDF.

     

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    Monday, August 22, 2011 7:00 PM
  • no meu caso eu uso o proprio reportview do visual studio para gerar.

    mas entao será em vão... pois preciso que o txt seje fiel ao pdf, pois no relatorio gerado em pdf tenho diversas formulas feitas pelo reportview, e tenho que imprimi -los em uma impressora nao fiscal, minha ideia era converter o pdf para txt e mandar imprimir direto na impressora.

    tem alguma ideia?

    mas ja agradeço toda a ajuda que me deu!

    att.

    Tiago

    Monday, August 22, 2011 7:05 PM
  • Se é vc que gera o relatorio, porque vc nao gera uma versao em outro formato.. por exemplo RTF.

    RTF é um arquivo texto que pode ser de mais facil extraçao:

    http://www.codeproject.com/KB/reporting-services/report-viewer-reflection.aspx

     

    Outra coisa é gerar o relatorio sem usar o ReportViewer já em TXT... dependo da complexidade do relatorio, essa pode ser a soluçao mais rapida. Exemplo se o relatorio for baseado diretamente em uma query, entao basta gerar um DataSet desta consulta e gerar um arquivo texto diretamente usando o StreamWriter.

     

    Att

     


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    Monday, August 22, 2011 7:20 PM
  • pior que preciso do reportview pois uso as expressao dele para filtros e equaçoes de dados tirados dos meus sqls.

    vou verificar a questao do rtf.

    att.

    Tiago

    Monday, August 22, 2011 7:26 PM