错误:在结束pdfkit之后写

时间:2017-04-22 09:50:48

标签: node.js fs pdfkit

我是NodeJS的新手,在我的应用程序中,我使用pdfkit创建pdf。

有时当我调用我的方法时,我收到错误:

Error: write after end
at writeAfterEnd
at PDFReference.Writable.write
at PDFPage.write

每次都不会发生,它有点随机。 我知道我在写之前尝试关闭文档(异步方式),但我不明白如何处理它。

我的路线:

app.post('/api/contests/:_id/ranking', contestController.print_ranking);

function print_ranking(req, res) {
    var path = null;
    Contest.findById(req.params._id, function (err, contest) {
        path = Print.print_ranking(contest, req.body);
        format_response(res, 200, {'path': path});
    });
}

我的打印功能:

const PDFDocument = require('pdfkit'),
    doc = new PDFDocument(),
    fs = require('fs');
function print_ranking(contest, ranking) {
    var start_line_x = 40, x_end = 545, start_y = 40;

    doc.pipe(fs.createWriteStream('public/printed/' + contest._id + '_ranking.pdf'));

    doc.text('Category : ' + '', start_line_x, start_y);
    // [ ... ]

    doc.end();

    return 'printed/' + contest._id + '_ranking.pdf';
}

正如我所说,有时,一切顺利,有时候不是......

如果您有任何线索。

感谢。

0 个答案:

没有答案