2017-03-13 10 views
-1

私は大歓迎です... 私はPDFをtxtに変換しようとしていますが、私はtxtファイルを保存できませんか?誰か助けてくださいね??C#Convert pdf to txt

using System; 
using System.Text; 
using System.Windows.Forms; 
using iTextSharp.text.pdf; 
using iTextSharp.text.pdf.parser; 
using System.IO; 

namespace ZestawienieFaktur 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

     } 



     private void button1_Click(object sender, EventArgs e) 
     { 

      string[] filePaths = Directory.GetFiles(@"D:\\faktury\\", "*.pdf"); 

      foreach (string fp in filePaths) 
      { 
       ExtractTextFromPdf(fp); 
      } 

     } 

     public static string ExtractTextFromPdf(string path) 
     { 
      using (PdfReader reader = new PdfReader(path)) 
      { 
       StringBuilder text = new StringBuilder(); 

       for (int i = 1; i <= reader.NumberOfPages; i++) 
       { 
        text.Append(PdfTextExtractor.GetTextFromPage(reader, i)); 
       } 

       string lines = text.ToString(); 
       using (var file = new StreamWriter(@"D:\faktury\test1.txt")) 
       { 
        file.WriteLine(lines); 
        file.Close(); 
       } 


      } 




     } 

    } 
} 

私はいくつかの異なる名前のpdfファイルがあります。 そして、私はすべてtxtの形式に変換します。 答えのために大きなthx ...

+0

ちょうど入れWORKS "を返すtext.ToStringを();" ExtractTextFromPdf()関数と関数の最後の間にある行。 –

+0

質問を編集してください。現在のフォームでは、あなたが使用しているライブラリが明確でない –

+0

あなたは 'ExtractTextFromPdf'の途中に' return'を持っています。次の行は、@ ArthurP.Rの – Pikoh

答えて

0

returnキーワードを削除し、ちょうどvoidを返す必要があります。それが実行されない理由は、returnの後に残りのコードの実行を停止するためです。それを次のように変更してください:

0

OKがTHXの友人...

using System; 
using System.Text; 
using System.Windows.Forms; 
using iTextSharp.text.pdf; 
using iTextSharp.text.pdf.parser; 
using System.IO; 

namespace ZestawienieFaktur 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

     } 



     private void button1_Click(object sender, EventArgs e) 
     { 

      string[] filePaths = Directory.GetFiles(@"D:\faktury\", "*.pdf"); 

      foreach (string fp in filePaths) 
      { 
       ExtractTextFromPdf(fp); 
      } 

     } 

     public static string ExtractTextFromPdf(string path) 
     { 
      using (PdfReader reader = new PdfReader(path)) 
      { 
       StringBuilder text = new StringBuilder(); 

       for (int i = 1; i <= reader.NumberOfPages; i++) 
       { 
        text.Append(PdfTextExtractor.GetTextFromPage(reader, i)); 
       } 

       string lines = text.ToString(); 
       using (var file = new StreamWriter(@"D:\faktury\test1.txt")) 
       { 
        file.WriteLine(lines); 
        file.Close(); 
       } 
       return lines; 
      } 


     } 




    } 

    }