2011-12-09 12 views
15

Sto usando C# come piattaforma di programmazione e iTextSharp per leggere il contenuto PDF. Ho usato il codice qui sotto per leggere il contenuto ma sembra che sia stato letto per pagina.Lettura di un file PDF utilizzando iText5 per .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; 
     } 

Qualcuno può aiutarmi su come posso scrivere un codice che legge il contenuto in pdf per riga?

risposta

13

Prova questo, utilizzare lo LocationTextExtractionStrategy anziché lo SimpleTextExtractionStrategy aggiungerà nuovi caratteri di riga al testo restituito. Quindi è possibile utilizzare strText.Split('\n') per dividere il testo in un string[] e consumarlo su base per riga.

Problemi correlati