2012-02-29 36 views
3

私はpdfからテキストを抽出し、それをプログラムとして使用する方法を探しています。私はネット上でいくつかの調査を行い、いくつかの図書館が働いています。これらはフリーウェアではありませんでした。しかし、そこには限界がありました。pdfからcへのテキストの抽出#

だから私は、フリーのライブラリを探しています。私はITextSharpを考えましたが、私は始めようとは考えていません。 皆さん、ここで私を助けてくれますか?

+0

iTextSharpは、いずれかのフリーウェアではないことに注意してください。 – Bobrovsky

+0

は、ドキュメントやリソースをチェックアウト: - http://api.itextpdf.com/ - http://stackoverflow.com/questions/3365986/documentation-for-itextsharp –

答えて

3

何か:

はここで5.1.2.0バージョンを使用してテキスト抽出の最も基本的なバージョンです。あなたはそれを見ている - 彼らは少し面倒ですiTextSharpリリース、と関数名にすべての時間を変更 - 笑

public static string GetPDFText(String pdfPath) 
{ 
    PdfReader reader = new PdfReader(pdfPath); 

    StringWriter output = new StringWriter(); 

    for (int i = 1; i <= reader.NumberOfPages; i++) 
     output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy())); 

    return output.ToString(); 
} 
+0

オールライト、素敵!それでも問題は厳しい:pdfに画像がある場合は問題がありますか? – jorne

+0

文書内に画像が含まれている場合は、これが問題ありません。イメージを抽出するには、オブジェクトコレクション内の各pdfオブジェクトをチェックする必要があります。これはテキストのみを抽出します:) – Dave

0

iTextSharpはオープンソースですが、ライセンスモデルはバージョン4.1.6以降に変更されました。古いライセンスはそれほど厳格ではなく、商用でソースコードをリリースしたくない場合は新しいライセンスで支払いが必要です。これはあなたに影響する場合もあります。あなたのために働く必要があるような

//Full path to the file to read 
string fileToRead = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), @"file1.pdf"); 
//Bind a PdfReader to our file 
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(fileToRead); 
//Extract all of the text from the first page 
string allPage1Text = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1); 
//That's it! 
Console.Write(allPage1Text); 
関連する問題