在 pdf.js 中搜索重音字符
Search with accented characters in pdf.js
我正在使用 ng2-pdf-viewer 库来显示一些 pdf。我被要求为这些 pdf 包含一个搜索栏,我通过使用 PdfFindController 中的这个命令来完成 pdf.js
this.pdfFindController.executeCommand('find', {
caseSensitive: false,
findPrevious: false,
highlightAll: true,
phraseSearch: phraseSearch,
query: stringToSearch
});
但是我的大部分 pdf 都是法语的,所以它们使用奇怪的字符,例如 è û 等。所以我需要知道 findcontroller 参数中是否有选项设置此查找功能以查找所有匹配项,无论它们是否有重音或重音。如果不是,您建议我采取什么解决方法。
我也在 pdfjs github 页面 https://github.com/mozilla/pdf.js/issues/8101 上发现了这个问题,但他们没有给出直接的答案。
谢谢大家的帮助!
所以你必须修改lib才能接受这个字符。这可能很棘手,可能取决于 pdfjs 库版本。在我的例子中,我修改了版本 2.4.456。这是 pdf-find-controller.js https://drive.google.com/file/d/1pbDG7gmeBpPp8soC1MNOyXVRYxf5AomD/view?usp=sharing 的源代码,这是您应该更改的唯一文件。
然后你应该使用这些命令再次编译库:
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
我正在使用 ng2-pdf-viewer 库来显示一些 pdf。我被要求为这些 pdf 包含一个搜索栏,我通过使用 PdfFindController 中的这个命令来完成 pdf.js
this.pdfFindController.executeCommand('find', {
caseSensitive: false,
findPrevious: false,
highlightAll: true,
phraseSearch: phraseSearch,
query: stringToSearch
});
但是我的大部分 pdf 都是法语的,所以它们使用奇怪的字符,例如 è û 等。所以我需要知道 findcontroller 参数中是否有选项设置此查找功能以查找所有匹配项,无论它们是否有重音或重音。如果不是,您建议我采取什么解决方法。
我也在 pdfjs github 页面 https://github.com/mozilla/pdf.js/issues/8101 上发现了这个问题,但他们没有给出直接的答案。
谢谢大家的帮助!
所以你必须修改lib才能接受这个字符。这可能很棘手,可能取决于 pdfjs 库版本。在我的例子中,我修改了版本 2.4.456。这是 pdf-find-controller.js https://drive.google.com/file/d/1pbDG7gmeBpPp8soC1MNOyXVRYxf5AomD/view?usp=sharing 的源代码,这是您应该更改的唯一文件。
然后你应该使用这些命令再次编译库:
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