根据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
对象。然后我将所有必要和依赖文件从示例复制到我的项目文件夹并动态加载它们。我包含的文件是:
加载文件后,我使用viewer.html
呈现lodash
的模板。不过,我无法在项目中看到渲染的pdf。我怀疑这可能是因为一切都在动态发生。 (但我不确定,因为所有内容都按顺序呈现,因为它应该)
顺便说一下,我在compressed.tracemonkey-pldi-09.pdf
文件附近添加了名称为index.html
的默认pdf。我能错过什么?
Firefox和Chrome不会抛出任何错误。
注意:我可能做错了。建议我在正确的方向上解决将是可观的。
答案 0 :(得分:5)
修改viewer.js
时的一些重点。
viewer.js
,而不是修改实际仅用于演示目的的可用viewer.js
文件。如果您只在现有演示版viewer.js
中修改了一些小内容,那么
pdf.worker.js
。viewer.js
文件的确切路径
此文件将开始在DomContentLoaded
事件上呈现pdf。如果您计划稍后动态呈现pdf文件,那么您应该注释此事件寄存器并在必要时调用以下函数。
webViewerLoad();
我希望这会对某人有所帮助。