7

我有一个 node.js 应用程序,我在其中使用 pdfkit 生成 pdf 文档。我希望能够在 pdf 中包含来自 url 的图像。我无法将图像保存到文件系统,因为我的运行时环境是只读的,并且 pdf 工具包似乎可以从文件系统目录中找到要嵌入的图像。有没有办法可以使用 pdf 工具包中的 url 嵌入图像?


在这里。这个人修改了 pdfkit 以包含该功能。

4

2 回答 2

3

PDFKit 现在支持将缓冲区doc.image而不是文件名传递给方法。请参阅提交。因此,您可以按照其他答案的建议进行操作,自己从 URL 下载图像,然后将缓冲区直接传递给 PDFKit,而不是先将其保存到文件中。

于 2014-01-18T21:37:43.020 回答
1

你可以使用http.get:

    http.get('YOUR URL TO GET THE IMAGE').on('response', function(res)
    res.setEncoding('binary');
    res.on('data', function(chunk){
       buffer += chunk;
    });
    res.on('end', function(){

    fs.writeFile('PATH TO SAVE IMAGE', buffer, 'binary', function (err) {
        if (err){
           throw err;
        }
        doc = new PDFDocument({ size: 'LETTER or any other size pdfkit offer' });
        doc.image('PATH TO SAVE IMAGE', 0, 0, { fit: [WIDTH, HEIGHT] })
        .fontSize(10).text('text 1', 100, 170)
        .fontSize(16).text('text 2', 60, 120)

    }); //After file is download and was write into the HD will use it

}).end(); //EO Downloading the file
于 2013-11-22T18:34:42.820 回答