0

我正在使用ng2-pdf-viewer库来显示一些 pdf。我被要求包含这些 pdf 的搜索栏,我通过使用pdf.js 的 PdfFindController中提供的这个命令来做到这一点

this.pdfFindController.executeCommand('find', {
            caseSensitive: false,
            findPrevious: false,
            highlightAll: true,
            phraseSearch: phraseSearch,
            query: stringToSearch
        });

然而,我的大多数 pdf 文件都是法文的,所以它们使用奇怪的字符,例如è û等。所以我需要知道 findcontroller 参数中是否有一个选项来设置这个 find 函数来查找所有匹配项,无论它们是否有重音符号或压力。如果不是,你建议我做什么解决方法。

我还在 pdfjs github 页面https://github.com/mozilla/pdf.js/issues/8101上发现了这个问题,但他们没有给出直接的答案。

谢谢你们的帮助!

4

1 回答 1

0

所以你必须修改 lib 才能接受这个字符。这可能很棘手,可能取决于 pdfjs lib 版本。就我而言,我修改了 2.4.456 版本。这是pdf-find-controller.js的源代码 https://drive.google.com/file/d/1pbDG7gmeBpPp8soC1MNOyXVRYxf5AomD/view?usp=共享这是您应该更改的唯一文件。

然后你应该使用这些命令再次编译库:

npm install -g gulp-cli
npm install
gulp generic

你应该得到 pdf-viewer.js 结果文件作为这个https://drive.google.com/file/d/1tWOW_P6-O8ATiQc9cOVt2LAToRB-niHc/view?usp=sharing

此修复程序专为法语设计,但适用于每种语言。我的建议是在原始文件和修改后的文件之间进行比较,然后你会看到你应该添加的逻辑。

还可以强制 npm 使用新版本的库,而不会让阅读关于npm-force-resolutions的痛苦

于 2020-10-27T13:33:02.467 回答