如何使用 nodeJs 将 jsreport 渲染保存到文件?
How do I save a jsreport render to file with nodeJs?
我是 node.js 和 jsreport 的新手,但我想做的是使用 node.js 在内存中创建一个 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 网站上收集到的信息(尽管我无法验证,因为他们网站上的 none 示例对我有用),看起来 out
不是不是呈现的 (PDF) 数据,而是一个包含流的对象。
这让我相信这可能有效:
require("jsreport").render("<h1>Hi there!</h1>").then(function(out) {
out.result.pipe(fs.createWriteStream('c:\helloworld.pdf'));
});
我是 node.js 和 jsreport 的新手,但我想做的是使用 node.js 在内存中创建一个 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 网站上收集到的信息(尽管我无法验证,因为他们网站上的 none 示例对我有用),看起来 out
不是不是呈现的 (PDF) 数据,而是一个包含流的对象。
这让我相信这可能有效:
require("jsreport").render("<h1>Hi there!</h1>").then(function(out) {
out.result.pipe(fs.createWriteStream('c:\helloworld.pdf'));
});