gpt4 book ai didi

javascript - 在嵌入式 PDFJS 上使用代码进行搜索

转载 作者:行者123 更新时间:2023-11-30 12:07:39 29 4
gpt4 key购买 nike

我已将 PDFJS 与我的网页集成。我想使用 javascript 进行搜索。

首次搜索时运行良好。但后来我尝试使用不同的关键字再次搜索,然后它没有突出显示正确的关键字。

这是我尝试过的:

    // search with PDF.js
function searchPDF(td_text)
{
PDFViewerApplication.findBar.open();
PDFViewerApplication.findBar.findField.value = td_text;
PDFViewerApplication.findBar.highlightAll.checked= true;
PDFViewerApplication.findBar.findNextButton.click();
}


function resetPDFSearch()
{
if(PDFViewerApplication.findBar.findField.value != '') {
PDFViewerApplication.findBar.findField.value = '';
PDFViewerApplication.findBar.highlightAll.checked= false;
PDFViewerApplication.findController.reset();
PDFViewerApplication.findBar.close();
PDFViewerApplication.findController.matchCount = 0;
PDFViewerApplication.findController.updateMatch();
}
}

在上面的函数中,当我第一次调用 searchPDF() 时,关键字会正确突出显示。但是,如果我用不同的关键字调用相同的函数,那么它只会显示以前突出显示的关键字。

我尝试创建新函数 resetPDFSearch() 来重置所有先前过滤和突出显示的关键字。但运气不好。

提前致谢。

最佳答案

对于那些使用 pdf.viewer.js 的人来说,这是另一个解决方案:

    // this method uses the viewer's search functionality to highligt given text
function searchText(txt) {

if (typeof PDFViewerApplication.findController !== 'undefined') {
PDFViewerApplication.findController.executeCommand('find', {
query: txt,
caseSensitive: false,
highlightAll: true,
findPrevious: true
});
}

}

更新:自 PDFJS 版本 2.13 以来,以下方法不再有效并被删除(弃用):executeCommand 因此上面的示例应该使用更新版本的方法:

    // this method uses the viewer's search functionality to highligt given text
function searchText(txt) {

if (typeof PDFViewerApplication !== 'undefined') {
PDFViewerApplication.eventBus.dispatch('find', {
query: txt,
caseSensitive: false,
highlightAll: true,
findPrevious: true
});
}

}

关于javascript - 在嵌入式 PDFJS 上使用代码进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34717771/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com