//入力PDFの取得は「PDFを開く」を参照
PtlParamSearchText paramSearchText = new PtlParamSearchText(); //文字列検索設定用クラス
paramSearchText.appendText(textToSearch1); //検索したい文字列その1
paramSearchText.appendText(textToSearch2); //検索したい文字列その2
//文書全体から検索結果の取得
PtlSearchTextResults resultsContainer = doc.searchText(paramSearchText);
ページを指定しての文字列検索も可能です
//ページから検索結果の取得
PtlSearchTextResults resultsContainer = page.searchText(paramSearchText);
//入力PDFの取得は「PDFを開く」を参照
//ページコンテナ・ページ取得は「ページ情報を操作する」を参照
//検索結果コンテナresultsContainerの取得は「文字検索」を参照
//インデックス番号を指定して個別の検索結果を取得
PtlSearchTextResult searchResult = resultsContainer.get(resultNum);
searchResult.getPageNumber(); //ページ番号の取得
searchResult.getKeyword(); //キーワードの取得
//入力PDFの取得は「PDFを開く」を参照
//ページコンテナ・ページ取得は「ページ情報を操作する」を参照
//検索結果コンテナresultsContainerの取得は「文字検索」を参照
//検索結果searchResultの取得は「検索結果の取得」を参照
//検索結果の詳細コンテナ
PtlSearchTextResultDetails resultDetails = searchResult.getResultDetails();
//検索結果詳細の個別内容を取得
PtlSearchTextResultDetail resultDetail = resultDetails.get(detailNum);
PtlQuadPoint quadPoint = resultDetail.getQuadPoint(); //個別の詳細結果のQuadPointを取得
検索用パラメータPtlParamSearchTextは細かいオプションが設定可能である。
paramSearchText.setCompareCase(compareCase); //大文字・小文字を区別するか否かを指定
paramSearchText.setIgnoreActualText(ignoreActualText); //ActualTextを無視するか否かを指定
//座標順にテキストを指定して検索
paramSearchText.setTextType(PtlParamSearchText.TEXT_TYPE.TEXT_SORT);
座標順にテキストを取得する場合、どの程度ずれた行まで同一行とみなすかを指定可能
//どの程度ずれた行まで同一行とみなすかを指定
paramSearchText.setOverlapAsLine(overlapRate);
ドキュメント全体に検索・墨消しをかける場合
//入力PDFの取得は「PDFを開く」を参照
//検索するテキストやマスク処理のパラメータ
PtlParamSearchTextAndSetMask paramSearchTextSetMask = new PtlParamSearchTextAndSetMask();
PtlColorDeviceRGB color = new PtlColorDeviceRGB(red, green, blue);
paramSearchTextSetMask.setColor(color); //マスクの色
paramSearchTextSetMask.setOpacity(opacity); //マスクの不透明度
paramSearchTextSetMask.appendText(textToSearch1); //検索する文字列その1
paramSearchTextSetMask.appendText(textToSearch2); //検索する文字列その2
//ドキュメント全体を検索し、ヒットした部分をマスクする
doc.searchTextAndDoProcess(paramSearchTextSetMask);
関数searchTextAndDoProcess()はページオブジェクトに対して指定することも可能です。
//ページを検索し、ヒットした部分をマスクする
page.searchTextAndDoProcess(paramSearchTextSetMask);
墨消し機能の詳細は「墨消し機能(データの削除)」の項を参照してください。
「注釈」の項の「文字列検索してハイライト注釈を付ける」を参照してください。
・文字列検索の基礎
『PDF CookBook(第3巻)1.2.1 キーワードの指定による検索』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0004.html
・文字列検索の細かいオプション
『PDF CookBook(第3巻)1.2.2 検索オプションの指定:検索対象文字列のオプション』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0005.html
『PDF CookBook(第3巻)1.2.3 検索オプションの指定:取得順序』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0006.html
『PDF CookBook(第3巻)1.2.4 検索オプションの指定:同一行とみなす文字の重なり』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0006.html
・文字列検索をした部分に墨消しをして削除する
『PDF CookBook(第3巻)3.3.1 テキスト検索とマスク処理の組み合わせ』
https://www.antenna.co.jp/ptl/cookbook/vol3/i01-0039.html
・文字列検索をしてハイライト注釈をかける
『PDF CookBook(第4巻)1.1.9 テキスト検索してハイライト注釈』
https://www.antenna.co.jp/ptl/cookbook/vol4/i02-0012.html