Pdfbox-reading-text
提供:Dev Guides
PDFBox-テキストを読む
前の章では、既存のPDFドキュメントにテキストを追加する方法を見てきました。 この章では、既存のPDFドキュメントからテキストを読み取る方法について説明します。
既存のPDFドキュメントからテキストを抽出する
テキストの抽出は、PDFボックスライブラリの主な機能の1つです。 PDFTextStripper クラスの* getText()*メソッドを使用してテキストを抽出できます。 このクラスは、指定されたPDFドキュメントからすべてのテキストを抽出します。
以下は、既存のPDFドキュメントからテキストを抽出する手順です。
ステップ1:既存のPDFドキュメントの読み込み
*PDDocument* クラスの静的メソッド* load()*を使用して、既存のPDFドキュメントを読み込みます。 このメソッドは、以下に示すようにクラス名を使用して呼び出すことができる静的メソッドであるため、パラメーターとしてファイルオブジェクトを受け入れます。
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
ステップ2:PDFTextStripperクラスをインスタンス化する
*PDFTextStripper* クラスは、PDFドキュメントからテキストを取得するメソッドを提供します。したがって、以下に示すようにこのクラスをインスタンス化します。
PDFTextStripper pdfStripper = new PDFTextStripper();
ステップ3:テキストを取得する
*PDFTextStripper* クラスの* getText()*メソッドを使用して、PDFドキュメントからページのコンテンツを読み取り/取得できます。 このメソッドには、ドキュメントオブジェクトをパラメーターとして渡す必要があります。 このメソッドは、指定されたドキュメント内のテキストを取得し、Stringオブジェクトの形式で返します。
String text = pdfStripper.getText(document);
ステップ4:ドキュメントを閉じる
最後に、以下に示すようにPDDocumentクラスの* close()*メソッドを使用してドキュメントを閉じます。
document.close();
例
以下に示すように、テキストを含むPDFドキュメントがあるとします。
この例は、上記のPDF文書からテキストを読み取る方法を示しています。 ここでは、Javaプログラムを作成し、パス C:/PdfBox_Examples/ に保存されている new.pdf という名前のPDFドキュメントをロードします。 このコードを ReadingText.java という名前のファイルに保存します。
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class ReadingText {
public static void main(String args[]) throws IOException {
//Loading an existing document
File file = new File("C:/PdfBox_Examples/new.pdf");
PDDocument document = PDDocument.load(file);
//Instantiate PDFTextStripper class
PDFTextStripper pdfStripper = new PDFTextStripper();
//Retrieving text from PDF document
String text = pdfStripper.getText(document);
System.out.println(text);
//Closing the document
document.close();
}
}
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
javac ReadingText.java
java ReadingText
実行時に、上記のプログラムは、指定されたPDFドキュメントからテキストを取得し、以下に示すように表示します。
This is an example of adding text to a page in the pdf document. we can add as many lines
as we want like this using the ShowText() method of the ContentStream class.