正在修改 viewer.js 文件

Modifying viewer.js file

根据 Mozilla 的 pdfjs 插件,我可以通过将查询参数传递给 viewer.html 来查看我的 pdf,如下所示:

http://localhost/MyProject/viewer.html/?file=file.pdf

这工作正常。但我有一些不同的要求。我项目中的要求是我需要在单个页面上有类似功能的选项卡。每个选项卡都包含一个 pdf 文件。

所以,我想把 viewer.js 中的所有代码都变成一个大函数。这样我就可以将它用作构造函数来呈现每个 pdf 文件。像这样:

var firstPdf = new paintPdf({file: 'myfile.pdf'});

无论如何,当我能够在我的项目中成功集成 pdfjs 的查看器功能时,我决定稍后进行上述更改。

我的项目总结

为此,首先,我复制了 viewer.html 正文标记内的所有 html,并将新的 属性 附加到 templates 对象.然后我将示例中的所有必要文件和依赖文件复制到我的项目文件夹并动态加载它们。我包含的文件是:

加载文件后,我正在使用 lodash 渲染 viewer.html 的模板。不过,我无法在我的项目中看到呈现的 pdf。我怀疑这可能是因为一切都是动态发生的。 (但我不确定,因为所有内容都按应有的顺序呈现

顺便说一句,我在 index.html 文件旁边添加了名称为 compressed.tracemonkey-pldi-09.pdf 的默认 pdf。我可能缺少什么?

Firefox 和 chrome 不会抛出任何错误。

注意:我可能做错了。建议我在正确的方向上解决将是可观的。

修改时的一些要点viewer.js

  • 建议构建您自己的 viewer.js 而不是修改可用的 viewer.js 文件,后者实际上仅用于演示目的。
  • 您可以通过访问每个 js 文件来创建自己的 viewer.js 文件 available here

如果您在现有演示中只有一些小东西需要修改 viewer.js,那么

  • viewer.js.
  • 中提及 pdf.worker.js 文件的确切路径
  • 此文件将在 DomContentLoaded 事件开始呈现 pdf。如果您打算稍后动态渲染pdf文件,那么您应该注释掉这个事件寄存器并在需要时调用以下函数。

    webViewerLoad();
    

我希望这会对某人有所帮助。