Javaを使用してPDFファイルからテキストデータを読み取りたい。これを手伝ってください。
どんな助けも大歓迎です。
PDFBox は、この目的のために私が見つけた最高のライブラリです。基本的なテキスト抽出を行うだけであれば、包括的で非常に使いやすいです。例は here にあります。
ページで説明していますが、注意するべきことの1つは、setStartPage()とsetEndPage()を使用するときの開始インデックスと終了インデックスがbothであることです包括的。最初はその説明を読み飛ばしてから、呼び出しごとに複数のページが返される理由を理解するのに少し時間がかかりました!
Itext はC#でも機能する別の代替手段ですが、個人的には使用していません。これはPDFBoxよりも低レベルなので、必要なのが基本的なテキスト抽出だけである場合、ジョブにはあまり適していません。
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();
PDFBox が含まれています テキスト抽出用のツール 。
iText は、テキスト操作をより低レベルでサポートしますが、テキストを抽出するにはかなりの量のコードを記述する必要があります。
iText in Action は、使用するライブラリ(セクション18.2:テキストの抽出と編集)に関係なく、PDFからのテキスト抽出の制限に関する適切な概要と、ライブラリにテキスト抽出がない理由を説明しています。サポート。つまり、単純なケースを処理するコードを書くのは比較的簡単ですが、一般的にPDFからテキストを抽出することは基本的に不可能です。
iText などのPDFライブラリを使用します。