jsreport:发生错误 - 呈现报告时出错 mac

jsreport: Error Ocurred - Error during rendering report mac

我在 mac 上将 jsreport 与 nodejs 一起使用,但出现以下错误

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

server.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

默认的phantomjs@1.9 目前不适用于macOS sierra 更新,您需要使用phantomjs 2.

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

The recipe default installation uses phantomjs@1.9. You can additionally install other versions and use them in parallel.

  1. Install additional phantomjs using npm install phantomjs-exact-2-1-1
  2. Use jsreport studio to switch phantomjs version in properties or set "template.phantom.phantomjsVersion":"2.1.1" in api call

You can also set the default phantomjs version globally in the config:

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

Note that phantomjs 2 produces different sizes of fonts. Also it doesn't support repeating thead when the table spawns multiple pages.