2017-06-26 86 views
0

我有一個觀點,我需要導出到PDF,但顯示此視圖我需要發送一個參數到特定的路線,我不知道如何調用路線,而不是HTML文件。Node.js - 如何將視圖導出到pdf

我的路線:

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

解決方案1,HTML和PDF模板

製作PDF模板,並用JavaScript代碼填充它。 HTML和PDF模板將會不同!

有很多這個功能的軟件包。例如,pdffiller

溶液2,用單一的HTML模板

引擎蓋下html-pdf實現這種方法。

  1. 填充HTML模板。
  2. 通過phantomjs或任何無頭瀏覽器呈現圖像。
  3. 將圖像編譯爲一個pdf文件。