2011-01-24 21 views

答えて

53

PDFBoxはあなただけで、基本的なテキスト抽出をやっている場合、それは包括的で使い実際にはかなり簡単です、私はこの目的のために見つけた最高のライブラリです。例はhereです。

ページで説明しますが、注意すべき点は、setStartPage()とsetEndPage()を使用するときの開始インデックスと終了インデックスはの両方ともです。最初の回の説明をスキップして、なぜ私は各呼び出しで複数のページが返ってきたのか分かりませんでした。私は個人的にそれを使ったことがないのに

Itextは、また、C#ので動作する別の代替です。 PDFBoxよりも低レベルなので、必要なのは基本的なテキスト抽出だけであれば、仕事にはあまり適していません。 ApacheのPDFBoxと

+1

リンクが起動しています。 –

15

PDFBoxtools for text extractionが含まれています。

iTextはテキスト処理のための、より低レベルのサポートがありますが、テキスト抽出を取得するにはかなりの量のコードを書く必要があるだろう。

iText in Actionには、使用するライブラリ(18.2節テキストの抽出と編集)に関係なく、PDFからのテキスト抽出の制限の概要と、なぜライブラリにテキスト抽出のサポートがないのか説得力のある説明が含まれています。簡単に言えば、単純なケースを扱うコードを記述するのは比較的簡単ですが、一般的にPDFからテキストを抽出することは基本的に不可能です。

2

は、iTextとしてPDFライブラリを使用してください。

+0

:あなたができるように、それだけであなたに低レベルのツールを提供します自分でやってください。テキスト抽出に関する(ライブラリに依存しない)問題については、「iText in Action」に素晴らしいセクションがあります。 – Bolo

+0

PDFBoxはiTextに比べて使い方が非常に簡単です。また、ソースからiTextをビルドしようとすると、実行時に正しく機能しません。欠落しているリソースについては、謎のエラーがたくさんあります。 –

7

それはこのように書きます:私はiTextのが好き、それはアウトオブボックスのテキスト抽出を行いません

PDDocument document = PDDocument.load(new File("test.pdf")); 
if (!document.isEncrypted()) { 
    PDFTextStripper stripper = new PDFTextStripper(); 
    String text = stripper.getText(document); 
    System.out.println("Text:" + text); 
} 
document.close(); 
+0

これらをインポートします: 'import java.io.File; import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.apache.pdfbox.text.PDFTextStripperByArea; ' –

関連する問題