6

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

  • 将 index.html、hello.js 和 pdf.js 放在“clients”目录下
  • 将“hello.js”的内容包含在“Meteor.startup()”块中
  • 从 index.html 中删除几乎所有内容:

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

我认为这足以让示例正常工作,但 Meteor 最终抱怨 pdf.js 中的“!DOCTYPE html”声明,该声明在文件中不存在,所以我猜测它是从某个地方导入的。

感觉就像我错过了一些明显的东西来让它工作,有一个简单的解决方案吗?

(旁白:我知道 pdf.js 智能包,但是因为我在 Windows 上进行开发,所以它对我来说并不是一个真正的选择,因为我无法获得 Meteorite。虽然我认为既然智能包已经存在,它是相当可以让两者一起工作。)

4

2 回答 2

1

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

从技术上讲,您可以通过复制 repo 中描述的文件来在项目中使用气氛包package.jssmart.json在本例中为https://github.com/peerlibrary/meteor-pdf.js

即添加咖啡脚本和下划线(在api.use

meteor add coffeescript underscore

然后将文件复制到您的server目录:(如api.add_files

 bootstrap.coffee
 server.coffee

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

于 2013-04-04T11:03:58.637 回答
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/

于 2014-01-06T08:10:20.473 回答