pdf工具包可以保存url的图片吗?

我有一个node.js应用程序,我正在使用pdfkit生成PDF文档。 我希望能够在pdf中包含来自url的图片。 我不能将图像保存到文件系统,因为我的运行时环境是只读的,PDF工具包似乎find从文件系统目录中embedded的图像。 有没有一种方法,我可以使用PDF格式的工具包中的url来embedded图像?


这里 这家伙修改了pdfkit以包含该function。

PDFKit现在支持将缓冲区传递给doc.image方法而不是文件名。 看到这个提交。 所以你可以按照其他答案的build议,自己从URL下载图像,然后直接将缓冲区传递给PDFKit,而不是首先将其保存到文件中。

你可以使用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