如何在流星上使用pdf.js?

时间:2013-04-04 01:52:58

标签: meteor pdf.js

我一直在努力让pdf.js的helloworld示例在Meteor中运行。到目前为止,我有:

  • 在“clients”目录下放置index.html,hello.js和pdf.js
  • 在“Meteor.startup()”块中附上“hello.js”的内容
  • 从index.html中删除了几乎所有内容:

    <body>
        <canvas id="the-canvas" style="border:1px solid black;"/>
    </body>
    

我认为这足以使示例工作,但Meteor最终抱怨pdf.js中的“!DOCTYPE html”声明,该声明在文件中不存在,所以我猜它是从某处。

感觉我错过了一些显而易见的工作,是否有一个简单的解决方案?

(旁白:我知道pdf.js智能软件包,但由于我在Windows上进行开发,对我来说这不是一个选项,因为我无法获得Meteorite。虽然我认为因为智能包已经存在,让两者一起工作是非常可行的。)

2 个答案:

答案 0 :(得分:0)

流星不应该真的抱怨js文件中的doctype声明。这是pdf.js的内置版本吗?

您可以在项目中通过复制package.jssmart.json中所述的文件来复制项目中的大气包,在本例中为https://github.com/peerlibrary/meteor-pdf.js

即添加coffeescript&amp;下划线(api.use

meteor add coffeescript underscore

然后将文件复制到server目录:(在api.add_files中)

 bootstrap.coffee
 server.coffee

然后你安装它就好像它是由陨石放入的,只是文件是物理放入的,另外还需要一个节点模块,如https://github.com/peerlibrary/meteor-pdf.js所述

答案 1 :(得分:0)

您也可以使用Jquery getScript并在外部加载它。我在template.rendered中使用了它(允许文本选择 - 如果你不需要,你可以用更少的东西来解决):

$.getScript( "http://vivin.net/pub/pdfjs/pdf.js" );
$.getScript( "http://vivin.net/pub/pdfjs/textlayerbuilder.js" );

回调函数可以作为参数给出:http://api.jquery.com/jquery.getscript/