修改viewer.js文件

时间:2015-05-29 07:33:15

标签: javascript mozilla pdfjs

根据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的查看器功能时,我决定稍后进行上述更改。

我的项目摘要

  • 单页面应用
  • 所有模板都维护在名称对象中的单个文件中 - templates

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

  • pdf.js
  • pdf.worker.js
  • viewer.js
  • l10n.js
  • viewer.css - 我没有动态加载此文件。

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

顺便说一下,我在compressed.tracemonkey-pldi-09.pdf文件附近添加了名称为index.html的默认pdf。我能错过什么?

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

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

1 个答案:

答案 0 :(得分:5)

修改viewer.js时的一些重点。

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

如果您只在现有演示版viewer.js中修改了一些小内容,那么

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

    webViewerLoad();
    

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