我只需要在流星的客户端使用pdf.js。我一直在努力工作。所以这篇文章不会让你更好地理解我到目前为止所做的事情。将Mozila Pdf.js与Meteor集成
我开始使用流星包pascoual:pdfjs。经过这个包中给出的例子,我得到了<canvas>
里面只有一个页面,如Hello Worldexample in pdf.js.但我想要pdf.js给出demo。经过一番研究和发布堆栈溢出没有得出结论,如何做到这一点与此包相同。
pdf.js推荐的另一个软件包是peerlibrary:pdf.js。我没有使用它bcoz它是为客户端和服务器端。我只想在客户端查看提供url的pdf文件。
然后我开始如何在我的项目中手动设置PDF.js。我遵循Setup PDF.js in a website。从pdf.js下载了gh-pages分支,正如所讲的那样。复制build和web目录并放入我的流星项目。我自定义文件作为每流星,项目结构如下:
.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*/
错误运行工程后:
客户端/网络/ viewer.html:1:无法设置DOCTYPE这里。 (流星为你设置)。
- 删除
<!DOCTYPE html>
形式viewer.html
- 删除
客户端/网络/ viewer.html:23:坏格式的HTML模板
- 从查看器中删除
<html>
和<head>
。 html。只保留身体。
- 从查看器中删除
万岁!现在黑色的观众来了。但是默认的PDF没有加载... :(
后很长一段时间,我发现东西在构建\ pdf.js
我改变了这里(不知道它会在未来影响或者没有)!
PDFJS.disableWorker = true;
再次Hurrey默认pdf文件加载正确&工具栏也工作正常
。Viewer.html包含<body>
标记。所以,它在第一次着陆时在浏览器中加载。如果我删除<body>
,如果它给bad formatting in HTML template
,那么我们必须将其作为模板。
现在我的问题是:
- 我怎么可以路线viewer.html,如果它不是一个模板?
- 如果我制作viewer.html作为模板,那么我该如何保持viewer.js代码?
- 最后但并非最不重要的是,我会朝正确的方向吗?有没有其他的方式...?
请分享您的宝贵意见。等待一个健康的讨论...