fbpx
< 戻る
印刷

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

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

この検索は、簡便な方法で行うことも、より深いアプローチで より高度にコントロールすることもできる。

便利な静的メソッド

				
					String pdfFile = "/path/to/file.pdf";
String textToFind = "textToFind";

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

				
			

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

				
					FindTextInRectangle extract=new FindTextInRectangle("/pdfs/mypdf.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を設定することができます。
有効な値は:

  • public final static int DEFAULT = 0;
  • public final static int WHOLE_WORDS_ONLY = 1;
  • public final static int CASE_SENSITIVE = 2;
  • public final static int FIND_FIRST_OCCURANCE_ONLY = 4;
  • public final static int MUTLI_LINE_RESULTS = 8;
  • public final static int HIGHLIGHT_ALL_RESULTS = 16;
  • public final static int USE_REGULAR_EXPRESSIONS= 32;

これらの値は、bitwise OR operatorを使用して組み合わせることができます。例えば:

				
					int searchType = SearchType.WHOLE_WORDS_ONLY | SearchType.CASE_SENSITIVE;
				
			

座標に関する注意

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

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

    MENU
    PAGE TOP