指定されたクエリと一致オプションに基づいて、指定されたページ コンテンツ内のフレーズ一致を計算します。
一致とその長さを含むオブジェクト。
matches - 一致が見つかったページ上の文字インデックス (文字インデックス) の配列。
matchesLength - 一致したテキストごとに長さの配列。
検索するクエリ文字列。
ページの行末を表すオブジェクト。キーは文字インデックス、値は行末を示します。
ページの内容。
単語全体のみを一致させるかどうか。
クエリがクエリ文字列で始まるフレーズと一致するかどうか。
クエリがクエリ文字列で終わるフレーズと一致するかどうか。
クエリが一致のためにワイルドカードを許可するかどうか。
検索タスクをキャンセルします。
// ドキュメントを開き、「wildlife」というテキストを見つけて、最初の結果を強調表示します。
async function loadPdfViewer(selector) {
var viewer = new GcPdfViewer(selector, { restoreViewStateOnLoad: false });
viewer.addDefaultPanels();
var afterOpenPromise = new Promise((resolve)=>{ viewer.onAfterOpen.register(()=>{ resolve(); }); });
await viewer.open('wetlands.pdf');
await afterOpenPromise;
var findOptions = { Text: 'wildlife' };
var searchIterator = await viewer.searcher.search(findOptions);
var searchResult = await searchIterator.next();
viewer.searcher.cancel();
viewer.searcher.highlight(searchResult.value);
}
loadPdfViewer('#root');
特定のページ上のテキストの指定された部分を強調表示します。
テキストが正常に強調表示された場合は true
に解決され、それ以外の場合は false
に解決される Promise。
// 最初のページの 10 文字目から 20 文字目までのテキストをカスタムのハイライト カラーでハイライトします。
viewer.highlightTextSegment(0, 10, 20, {
color: 'rgba(173, 216, 230, 0.5)', // semi-transparent light blue
borderColor: 'blue', // 境界線の色の名前
borderWidth: 4, // カスタム境界線の幅
clearPrevious: true
});
テキストが配置されているページのインデックス (0 から始まる)。
強調表示するテキスト セグメントの開始文字インデックス (0 から始まる)。
強調表示するテキスト セグメントの終了文字インデックス (0 から始まる)。このインデックスの文字は強調表示から除外されます。
オプション
args: { borderColor?: string; borderWidth?: number; color?: string; paintHandler?: any }色、境界線の色、幅など、ハイライトをカスタマイズするためのオプション パラメーター。
オプション
borderオプション
borderハイライト境界線の幅(ピクセル単位)(デフォルトは 2 ピクセル)。
オプション
color?: stringオプション
paintハイライトのペイントを処理するためのカスタム関数 (オプション)。
pageContent
から startInd
と endInd
の間の部分文字列を抽出し、オプションで pageContentsEndings
マッピングに基づいて行末をスペースで埋めます。
改行時にオプションでスペースが挿入される部分文字列。
pageContent
内の部分文字列の開始インデックス。
pageContent
内の部分文字列の終了インデックス。
部分文字列が抽出されるページの完全なコンテンツ。
行末が発生する場所を示すマッピング。
オプション
fillLineEndingsWithSpaces: boolean = true行末にスペースがない場合にスペースで埋めるかどうか。
結果を含むページに移動し、見つかったテキストをハイライト表示します。
// ドキュメントを開き、「wildlife」というテキストを見つけて、最初の結果を強調表示します。
async function loadPdfViewer(selector) {
var viewer = new GcPdfViewer(selector, { restoreViewStateOnLoad: false });
viewer.addDefaultPanels();
var afterOpenPromise = new Promise((resolve)=>{ viewer.onAfterOpen.register(()=>{ resolve(); }); });
await viewer.open('wetlands.pdf');
await afterOpenPromise;
var findOptions = { Text: 'wildlife' };
var searchIterator = await viewer.searcher.search(findOptions);
var searchResult = await searchIterator.next();
viewer.searcher.cancel();
viewer.searcher.highlight(searchResult.value);
}
loadPdfViewer('#root');
オプション
pageIndex: number提供された検索オプションに基づいて、検索結果を非同期に生成します。
// SearchPanel を開かずにすべての検索結果を強調表示します。
const searchIterator = viewer.searcher.search({ Text: "test", MatchCase: true, HighlightAll: true });
searchIterator.next();
searcher.applyHighlight();
// べての検索結果を繰り返す。
const searcher = viewer.searcher;
var searchResults = [];
const searchIterator = searcher.search({ Text: textToSearch, MatchCase: true });
var searchResult = await searchIterator.next();
if (searchResult.value)
searcher.highlight(searchResult.value)
while (searchResult.value && !searchResult.done) {
const searchResultValue = searchResult.value;
searchResults.push(`index: ${searchResultValue.ItemIndex}, text: ${searchResultValue.DisplayText}, pageIndex: ${searchResultValue.PageIndex}`);
searchResult = await searchIterator.next();
}
console.log("Search results: " + (searchResults.length ? searchResults.join("; ") : "No search results"));
// ドキュメントを開き、「wildlife」というテキストを見つけて、最初の結果を強調表示します。
async function loadPdfViewer(selector) {
var viewer = new DsPdfViewer(selector, { restoreViewStateOnLoad: false });
viewer.addDefaultPanels();
var afterOpenPromise = new Promise((resolve)=>{ viewer.onAfterOpen.register(()=>{ resolve(); }); });
await viewer.open('wetlands.pdf');
await afterOpenPromise;
var findOptions = { Text: 'wildlife' };
var searchIterator = await viewer.searcher.search(findOptions);
var searchResult = await searchIterator.next();
viewer.searcher.cancel();
viewer.searcher.highlight(searchResult.value);
}
loadPdfViewer('#root');
// ドキュメントを開き、「wildlife」というテキストを見つけて、検索結果をコンソールに出力します。
async function loadPdfViewer(selector) {
var viewer = new DsPdfViewer(selector);
viewer.addDefaultPanels();
await viewer.open('wetlands.pdf');
await (new Promise((resolve)=>{
viewer.onAfterOpen.register(()=>{
resolve();
});
}));
var findOptions = {
Text: 'wildlife',
MatchCase: true,
WholeWord: true,
StartsWith: false,
EndsWith: false,
Wildcards: false,
Proximity: false,
SearchBackward: false,
HighlightAll: true
};
var searcher = viewer.searcher;
var searchIterator = await searcher.search(findOptions);
var resultsCount = 0;
var searchResult;
do {
searchResult = await searchIterator.next();
if (searchResult.value) {
// これは結果または進行状況メッセージのいずれかです (ItemIndex < 0)
if(searchResult.value.ItemIndex >= 0) {
console.log('next search result:');
console.log(searchResult.value);
resultsCount++;
} else {
const pageCount = _doc.pageCount.totalPageCount || _doc.pageCount.renderedSoFar;
console.log('search progress, page index is ' + searchResult.value.PageIndex);
}
}
else {
console.log("Search completed");
break;
}
}
while(!searchResult.done);
console.log('Total results count is ' + resultsCount);
}
検索結果を生成する非同期反復可能イテレータ。
検索をカスタマイズするための検索オプション。
(現在の) 正規化された検索クエリ。
highlightAll オプションを取得します。
highlightAll オプションを設定します。
選択した検索結果を取得します。
選択された検索結果のインデックスを取得します。何も選択されていない場合は -1 を返します。
空でない検索オプションを取得します。
PDF 検索オプションの現在の状態。有効なオブジェクトであることを確認します。
検索結果の合計数を取得します。
検索結果Promiseの合計数を取得します。
PDFドキュメントのサーチャー。 非同期検索結果を生成します(search メソッドを参照します)。GcPdfSearcher APIは、検索パネルUIで内部的に使用されるように設計されます。