在节点中生成PDF格式的报告

时间:2018-02-09 06:10:16

标签: node.js pdf pdf-generation

我正在生成一个表格(数据网格)报告,该报告位于节点的文本文件中。我想以PDF格式生成相同的报告,以便报告不可编辑。我在互联网上搜索但只能从HTML中找到,但我不想使用HTML。

有可能吗?如果是,那么如何?

1 个答案:

答案 0 :(得分:1)

你可以使用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');
});