【发布时间】:2018-07-19 20:44:47
【问题描述】:
我正在生成一个表格(数据网格)报告,该报告位于节点的文本文件中。我想以 PDF 格式生成相同的报告,以便报告不可编辑。我在互联网上搜索,但只有从 HTML 中找到的方法,但我不想使用 HTML。
这可能吗?如果是那怎么办?
【问题讨论】:
标签: node.js pdf pdf-generation
我正在生成一个表格(数据网格)报告,该报告位于节点的文本文件中。我想以 PDF 格式生成相同的报告,以便报告不可编辑。我在互联网上搜索,但只有从 HTML 中找到的方法,但我不想使用 HTML。
这可能吗?如果是那怎么办?
【问题讨论】:
标签: node.js pdf pdf-generation
我相信你可以使用 PDFKit:http://pdfkit.org/ 来做到这一点,这是一个简单的例子,我现在已经将行设为全局。
var content = [];
for(var i = 0; i < 30; i++) {
content.push('Content line ' + i);
}
lines =[]; lines = Array.from(Array(content.length).keys()).map((n) => content[n]);
var fs = require('fs');
var PDFDocument = require('pdfkit');
function printLinesToPDF() {
return new Promise((resolve) => {
var pdf = new PDFDocument({
size: 'A4',
info: {
Title: 'Example file',
Author: 'Me',
}
});
console.log('Printing %d line(s) to PDF', lines.length);
lines.forEach((line) => pdf.text(line));
var stream = fs.createWriteStream('./example.pdf');
pdf.pipe(stream);
pdf.flushPages();
pdf.end();
stream.on('finish', function() {
resolve();
});
});
}
printLinesToPDF().then(() => {
console.log('All done');
});
【讨论】: