【问题标题】:Can pdf kit save images from a url?pdf kit可以从url保存图像吗?
【发布时间】:2012-04-12 05:10:31
【问题描述】:

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


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

【问题讨论】:

  • 不,这在当前实现中是不可能的。但我可以告诉你,修改源代码并实现此功能很容易。
  • 我认为这个问题是关于this pdfkit
  • This 是它读取文件的位置。例如,您可以将其更改为 @contents = filename 或任何您想要的。
  • @alFReDNSH 有人甚至会争辩说这将是一个更干净的界面。
  • 是否可以通过node提供的pdfkit无需编辑?

标签: node.js pdfkit


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-03-30
      • 1970-01-01
      • 2010-10-17
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      相关资源
      最近更新 更多