如何将jsreport渲染器保存到nodeJs文件中?

我是新的node.js和jsreport,但我正在尝试做的是在内存中使用node.js创build一个pdf,然后将其保存到磁盘。 我需要这样做,因为它将作为AWS Lambda函数运行。

var fs = require('fs'); require("jsreport").render("<h1>Hi there!</h1>").then(function(out) { //pipe pdf with "Hi there!" fs.writeFile('C:\\helloworld.pdf', out, function (err) { if (err) return console.log(err); console.log('Hello World > helloworld.txt'); }); fs.close(); console.log("The End"); }); 

虽然这运行输出pdf不会在Adobe Reader中打开,所以我假设文件输出不是一个有效的PDF。

这需要npm install jsreport

从我从jsreport网站收集到的信息(虽然我还没有能够validation,因为他们网站上的例子都不适合我),它看起来不是渲染(PDF)数据,而是一个包含 – 其他东西 – stream。

这导致我相信这可能工作:

 require("jsreport").render("<h1>Hi there!</h1>").then(function(out) { out.result.pipe(fs.createWriteStream('c:\\helloworld.pdf')); });