【问题标题】:Meteor jsPDF Package ErrorMeteor jsPDF包错误
【发布时间】:2014-10-03 00:42:09
【问题描述】:

我将js-pdf package 添加到我的 Meteor 应用程序中,但每当我运行一个简单的 hello world 代码时,都会出现错误:

代码:

var doc = new jsPDF();
doc.setFontSize(40);
doc.text(35, 25, "Paranyan loves jsPDF");

我明白了:

[Error] ReferenceError: Can't find variable: jsPDF
click #download-pdf (manageatas.js, line 53)
(anonymous function) (templating.js, line 120)
(anonymous function) (blaze.js, line 2205)
withCurrentView (blaze.js, line 2038)
(anonymous function) (blaze.js, line 2204)
(anonymous function) (blaze.js, line 802)
dispatch (jquery.js, line 4657)
handle (jquery.js, line 4325)

我尝试安装软件包,我尝试下载代码并将其添加到客户端文件夹,但我再次遇到相同的错误...

怎么了?

【问题讨论】:

    标签: javascript meteor meteorite


    【解决方案1】:

    这个包我也遇到了很多问题。

    试试把jspdf.debug.js 在您的代码中的某处(我在 client/thirdparty/ 中有我的),从 var jsPDF = (function(global) 中删除 var 并以这种方式试一试。

    一定要先去掉包和其他jspdf js文件!

    【讨论】:

      【解决方案2】:

      该软件包似乎与最近的 Meteor 版本不兼容(这很奇怪,因为它似乎收到了更新)。我建议手动将 jspdf.js 添加到您的 /client/lib/compatibility 文件夹中。

      如果您不想使用compatibility 文件夹,则需要确保jsPDF 对象是在全局范围内创建的,而不是作为文件中的局部变量。幸运的是,这很容易——只需从其声明中删除 var 关键字。换句话说,第 39 行应该是:

      jsPDF = (function () {
      

      而不是

      var jsPDF = (function () {
      

      【讨论】:

      • 我尝试了这两个选项,但都没有,错误仍在继续......这太奇怪了,因为我有 jspdf.js 在那里
      • 使用jsPDF的代码在哪里?另外,当应用启动时,你可以在浏览器控制台中访问它吗?
      • 现在错误消失了,又出现了一个新的:找不到变量:saveAs,因为我加了doc.save('test.pdf')
      【解决方案3】:

      使用 html-pdf npm 包创建动态 html 到 pdf 文件。它非常易于使用

      步骤:

      1. 为报表布局设计创建 html 文件
      2. 通过SRS模板方法传递json格式的动态数据,获取html代码。
      3. 在以下函数中传递 html 代码

      代码在这里:

      var fs = require('fs');
      var pdf = require('html-pdf');
      var options = { format: 'Letter' };
      
      pdf.create(html, options).toFile('./businesscard.pdf`enter code here`', function(err, res) {
        if (err) return console.log(err);
        console.log(res); // { filename: '/app/businesscard.pdf' } 
      });
      

      其中 html 代表 HTML 代码。

      访问https://www.npmjs.com/package/html-pdf

      【讨论】:

        猜你喜欢
        • 2015-07-05
        • 2020-07-03
        • 2015-08-06
        • 2017-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-21
        • 1970-01-01
        相关资源
        最近更新 更多