0

我在 mac 上将 jsreport 与 nodejs 一起使用,我收到以下错误

我已经修改了文件夹权限并以 root 身份运行,但它不起作用。示例代码直接从官方网站https://jsreport.net/learn/pdf-reports-in-nodejs复制并粘贴

服务器.js

var http = require('http');
var jsreport = require('jsreport');

http.createServer(function (req, res) {

  jsreport.render("<h1>Hello world</h1>").then(function(out) {
    out.stream.pipe(res);
  }).catch(function(e) {    
    res.end(e.message);
  });

}).listen(1337, '127.0.0.1');

错误:

Error during rendering report: Command failed: /Users/macbookpro/Downloads/reports/node_modules/phantom-html-to-pdf/node_modules/phantomjs/lib/phantom/bin/phantomjs --ignore-ssl-errors=yes --web-security=false --ssl-protocol=any /Users/macbookpro/Downloads/reports/node_modules/phantom-html-to-pdf/lib/scripts/standaloneScript.js /var/folders/0f/6nfvtgxn069237lpmp00ldvr0000gn/T/jsreport/ee4b46e0-261c-11e7-a041-db0530c5a883settings.html

错误

4

1 回答 1

2

默认的 phantomjs@1.9 目前在 macOS sierra 更新上无法使用,需要使用 phantomjs 2。

https://jsreport.net/learn/phantom-pdf#phantomjs2

配方默认安装使用 phantomjs@1.9。您还可以安装其他版本并并行使用它们。

  1. 使用安装额外的 phantomjsnpm install phantomjs-exact-2-1-1
  2. 使用jsreport studio在属性中切换phantomjs版本或"template.phantom.phantomjsVersion":"2.1.1"在api调用中设置

您还可以在配置中全局设置默认的 phantomjs 版本:

"phantom": {   
  "defaultPhantomjsVersion": "2.1.1"
}

请注意,phantomjs 2 会产生不同大小的字体。当表格产生多个页面时,它也不支持重复标题。

于 2017-04-23T18:41:29.373 回答