Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

PDFファイル内のテキストを検索する

JPedalは、PDF内のテキストを検索し、見つかった結果の座標を出力するシンプルなクラスを提供します。

この検索は、簡易的な便利メソッドを使用するか、より詳細なアプローチでより高度な制御を行うかのいずれかの方法で実行できます。

便利な静的メソッド

String pdfFile = "inputFile.pdf";
String textToFind = "textToFind";

ArrayList <Float[] > resultsForPages=FindTextInRectangle.findTextOnAllPages(pdfFile, textToFind);

カスタマイズ可能なメソッド

FindTextInRectangle extract = new FindTextInRectangle("inputFile.pdf");
//extract.setPassword("password");
if (extract.openPDFFile()) {
    int pageCount = extract.getPageCount();
    for (int page = 1; page <= pageCount; page++) {
        float[] coords = extract.findTextOnPage(page, "textToFind", SearchType.MUTLI_LINE_RESULTS);
    }
}
extract.closePDFfile();

検索タイプ

複雑な検索の場合、SearchType を設定できます。有効な値は次のとおりです。

  • DEFAULT (0)
  • WHOLE_WORDS_ONLY (1)
  • CASE_SENSITIVE (2)
  • FIND_FIRST_OCCURANCE_ONLY (4)
  • MUTLI_LINE_RESULTS (8)
  • HIGHLIGHT_ALL_RESULTS (16)
  • USE_REGULAR_EXPRESSIONS (32)

これらの値は、ビット単位のOR演算子を使用して組み合わせることができます。例えば、

int searchType = SearchType.WHOLE_WORDS_ONLY | SearchType.CASE_SENSITIVE;

座標に関する注意事項

例では、PDFの座標系を使用しています。この座標系はページの左下から始まり、ページの上方向に向かって進みます。これはJavaの座標系(左上から始まりページの下方向に向かって進む)とは逆になります。

この例では、JPedalのFindTextInRectangle クラスを使用しています。