我只想要pdf.js在客户端流星。我已经花了很长时间了。因此,这篇文章不太可能让你更好地理解我迄今所做的事情。
我开始使用流星软件包pdfjs。在这个包中给出的示例之后,我在<canvas>中只有一个页面,比如Hello 示例 in pdf.js。但我想要像pdf.js给我的一样。经过一些研究和栈中的文章,溢出没有得出如何处理这个包的结论。
pdf.js推荐的另一个包是peerlibrary:pdf.js。我没有使用它,因为它是为客户端和服务器端。我只想客户端查看提供网址的pdf文件。
然后,我开始了如何在我的项目中手动设置PDF.js。我跟踪了在网站中设置PDF.js。按照指令从盖-页分支下载pdf.js分支。复制构建和网站目录,并放入我的流星项目。我根据流星自定义文件,项目结构如下所示:
.meteor/
client/
|- build/
| |- pdf.js
| |- pdf.worker.js
|- cmaps/ -- contains all .bcmap files
|- stylesheets/
| |- viewer.css
|- web/
| |- compatibility.js
| |- debugger.js
| |- l10n.js
| |- viewer.html
| |- viewer.js
lib/
|- locale/
public/
|- compressed.tracemonkey-pldi-09.pdf -- default pdf
|- /* all images present in image directory*/运行项目后的错误:
- remove `<!DOCTYPE html>` form **viewer.html**
- remove `<html>` and `<head>` from **viewer.html**. Kept only body.
万岁!现在黑人观众来了。但默认pdf没有加载..。:(
很长一段时间后,我在build\pdf.js上发现了一些东西

我在这里改变了(不知道将来会不会有影响):
PDFJS.disableWorker = true;再来一次,赫瑞!默认pdf文件正在正确加载&工具栏也正常工作。
Viewer.html包含<body>标记。所以,它是装载在布劳尔在第一次着陆。如果我删除<body>,如果它给了bad formatting in HTML template,因为我们必须将它作为模板。
现在我的问题是:
请分享你的有益想法。等待健康的讨论..。
发布于 2015-07-20 10:32:15
你需要使用一个模板,这就是流星路线的工作原理
您需要将其包装到模板rendered函数中:
Template.YourTemplate.rendered = function() {
//do your stuff
};没有明显的方法来实现你想要的,还有其他的方法,就像你认同自己一样。我想正确的方法(至少一开始是这样)是有效的。尝试使用模板方法,并查看如何使用铁路由器。
然而,如果你有一个困难的实现的pdf显示你的方式,我建议你尝试一下peerlibrary:pdf.js。它在服务器上也能工作的事实不应该是一个节目的阻碍,它不会在性能上产生很大的影响,而且它最终可能对实现您还没有想到的特性很有用。
发布于 2015-12-22 04:19:29
使用iframe像这样加载url
<iframe src="pathof/web/viewer.html?file=url of pdf file"></iframe>这对我有用。
发布于 2017-04-19 04:15:58
您可以在iframe中使用google查看器:
<iframe src="http://docs.google.com/gview?url={{url}}&embedded=true" frameborder="0"></iframe>在url写你的网址,你想打开pdf。
https://stackoverflow.com/questions/31513316
复制相似问题