web-dev-qa-db-ja.com

Javaを使用してPDFファイルを読み取る方法

Javaを使用してPDFファイルからテキストデータを読み取りたい。これを手伝ってください。

どんな助けも大歓迎です。

56

PDFBox は、この目的のために私が見つけた最高のライブラリです。基本的なテキスト抽出を行うだけであれば、包括的で非常に使いやすいです。例は here にあります。

ページで説明していますが、注意するべきことの1つは、setStartPage()とsetEndPage()を使用するときの開始インデックスと終了インデックスがbothであることです包括的。最初はその説明を読み飛ばしてから、呼び出しごとに複数のページが返される理由を理解するのに少し時間がかかりました!

Itext はC#でも機能する別の代替手段ですが、個人的には使用していません。これはPDFBoxよりも低レベルなので、必要なのが基本的なテキスト抽出だけである場合、ジョブにはあまり適していません。

64
Michael Berry

apache PDFBoxでは、次のようになります。

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();
20
Sachin

PDFBox が含まれています テキスト抽出用のツール

iText は、テキスト操作をより低レベルでサポートしますが、テキストを抽出するにはかなりの量のコードを記述する必要があります。

iText in Action は、使用するライブラリ(セクション18.2:テキストの抽出と編集)に関係なく、PDFからのテキスト抽出の制限に関する適切な概要と、ライブラリにテキスト抽出がない理由を説明しています。サポート。つまり、単純なケースを処理するコードを書くのは比較的簡単ですが、一般的にPDFからテキストを抽出することは基本的に不可能です。

17
Bolo

iText などのPDFライブラリを使用します。

2
Oded