【问题标题】:Search with accented characters in pdf.js在 pdf.js 中使用重音字符进行搜索
【发布时间】:2020-10-28 18:28:35
【问题描述】:

我正在使用 ng2-pdf-viewer 库来显示一些 pdf。我被要求包含这些 pdf 的搜索栏,我使用 PdfFindController from 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 上发现了这个问题,但他们没有给出直接的答案。

谢谢大家的帮助!

【问题讨论】:

    标签: pdf pdf.js ng2-pdfjs-viewer


    【解决方案1】:

    所以你必须修改 lib 才能接受这些字符。这可能很棘手,可能取决于 pdfjs lib 版本。就我而言,我修改了 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

    的痛苦

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 2017-06-15
      • 2013-05-16
      • 2010-11-25
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多