将图像添加到PDF时,“ PNG文件不完整或损坏”

时间:2019-03-20 04:12:26

标签: javascript jspdf

我有一个要显示为PDF的PNG图像。但是,当我使用以下代码时,出现此错误:

csvLine

这是我的代码:

core.js:1449 ERROR Error: Uncaught (in promise): Error: Incomplete or corrupt PNG file
Error: Incomplete or corrupt PNG file

1 个答案:

答案 0 :(得分:0)

我从来没有使用过这个库,但是according to the documentation,您实际上必须将图像数据传递到addImage

有几种方法可以解决此问题。一种是采用Image实例,将其绘制到画布上,将画布位图数据编码为PNG,然后将PNG输出编码为base64。这就是文档所说的。

还有另一种方式。您可以使用Fetch API。未经测试,但类似:

fetch('/assets/img/bgconfidential.png')
  .then(res => res.blob())
  .then((blob) => {
    const reader = new FileReader();
    reader.addEventListener('load', () => {
      doc.addImage(reader.result, 'png', ...);
    });
    reader.readAsDataURL(blob);
  });