Node.js - 如何将视图导出为pdf

时间:2017-06-26 13:46:13

标签: javascript node.js express pdf html-to-pdf

我有一个视图,我需要导出到pdf,但为了显示这个视图我需要发送一个参数到特定的路线,我不知道如何调用路由而不是html文件。

我的路线:

viewBicsDetails(req, res)
  {
    var ref = req.params.stamp;

    var info = request.query("query");

    var compounds = request.query("query");

    return Promise.all([info, compounds]).then(function(results)
    {
      console.log(results[0]);
      res.render('management-bic-details', {info : results[0], compounds: results[1]});
    });}

如何将此渲染导出为pdf?我安装了html-pdf npm库。 https://www.npmjs.com/package/html-pdf

 var fs = require('fs');
var pdf = require('html-pdf');
var html = fs.readFileSync('./test/businesscard.html', 'utf8');
var options = { format: 'Letter' };

pdf.create(html, options).toFile('./businesscard.pdf', function(err, res) {
  if (err) return console.log(err);
  console.log(res); // { filename: '/app/businesscard.pdf' } 
});

readFileSync我应该把路线......但是如何? 谢谢

1 个答案:

答案 0 :(得分:2)

解决方案1,包含HTML和PDF模板

制作pdf模板并使用javascript代码填写。 HTML和PDF模板会有所不同!

有很多具有此功能的软件包。例如,pdffiller

解决方案2,包含单个HTML模板

引擎盖html-pdf实现了这种方法。

  1. 填写HTML模板。
  2. 通过phantomjs或任何无头浏览器渲染图片。
  3. 将图像编译为单个pdf文件。