如何将json数据导出为带有Nodejs指定格式的pdf文件?

我是一个初学者与nodejs。 我正在写一个程序,它将文本数据从json文件转换为pdf文件:这是我的input文件(input.json)

{ "Info": { "Company": "ABC", "Team": "JsonNode" }, "Number of members": 4, "Time to finish": "1 day" } 

我想用下面的样式将它转换成.pdf(report.pdf)文件。

  1. 信息

    1.1公司

    ABC

    1.2团队

    JsonNode

  2. 成员人数4
  3. 时间完成1天

我的问题是:

1:如何将样式从input.json文件更改为report.pdf样式。

2:如何从.json格式转换为.pdf格式。

任何人都可以帮助我

提前致谢!

我认为你必须制作html模板,然后将你的json渲染成html模板。

  <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <table> <tr>Company</tr> {{info.Company}} <tr>Team</tr> {{info.Team}} </table> </body> </html> 

现在在你的JS文件,你必须给你的模板的path,并创build一个文件夹,以便存储您的PDF文件。

  var pdf = require('html-pdf'); var options = {format: 'Letter'}; exports.Topdf = function (req, res) { var info = { "Company": "ABC", "Team": "JsonNode", "Number of members": 4, "Time to finish": "1 day" } res.render('path to your tempalate', { info: info, }, function (err, HTML) { pdf.create(HTML, options).toFile('./downloads/employee.pdf', function (err, result) { if (err) { return res.status(400).send({ message: errorHandler.getErrorMessage(err) }); } }) }) } 

试试这个希望它的作品。

你必须使用html创build布局,

 <ul> <li>Info: </li> <ul> <li>Company: {{info.Company}}</li> <li>Team: {{info.Team}}</li> </ul> <li>Number of members: {{info.numberofmembers}}</li> <li>Time to finish: {{info.timetofinish}}</li> <ul> 

现在你必须将这个html存储在一个variables中,比如“layout”。 然后创buildPDF文件,

 function generatePdf(layout, file) { console.log('generating pdf'); var wkhtmltopdf = require('wkhtmltopdf'); wkhtmltopdf(html, { output: file, "viewport-size": "1280x1024", "page-width": "400", "page-height": "600" }); } 

文件是您要保存文件的path。