2011-12-09 22 views
15

Estoy usando C# como plataforma de programación y iTextSharp para leer contenido en PDF. He utilizado el siguiente código para leer el contenido, pero parece que se lee por página.Lectura de un archivo PDF usando iText5 para .NET

 public string ReadPdfFile(object Filename) 
     { 

      string strText = string.Empty; 
      try 
      { 
       PdfReader reader = new PdfReader((string)Filename); 

       for (int page = 1; page <= reader.NumberOfPages; page++) 
       { 
        ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy(); 
        String s = PdfTextExtractor.GetTextFromPage(reader, page, its); 

        s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s))); 
        strText = strText + s; 

       } 
       reader.Close(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
      return strText; 
     } 

¿Alguien puede ayudarme en cómo puedo escribir un código leyendo el contenido de PDF por línea?

Respuesta

13

Pruebe esto, use el LocationTextExtractionStrategy en lugar del y agregará nuevos caracteres de línea al texto devuelto. Luego puede usar strText.Split('\n') para dividir su texto en un string[] y consumirlo por línea.

Cuestiones relacionadas