使用jsPDF添加常规的png图像没有问题,但现在我从服务器发送生成的图像,当渲染PDF文件时,浏览器控制台显示以下错误:
不完整或损坏的PNG文件
显然,该图像不是不完整或损坏的,因为我可以看到服务器的响应,并且图像很好。 另外,为了避免在图像准备就绪之前呈现pdf文件,我对保存图像值变量的“a”进行检查,以确定其是否未定义/为空。 我的图像格式为
var image = "data:image/png;base64,iVBORw0KGgoAAAANSUh...etc";
可能的问题是什么?
编辑:我将图像格式更改为jpg,出现此错误。
Supplied data is not a JPEG
如果我使用这个库
jspdf.plugin.addimage.js
,图片会被正确地渲染,但是PNG图片不行。编辑:2 我通过修改
jspdf.plugin.addimage.js
文件中的函数addImage
来解决了这个问题。我只是改变了函数的名称,并用该函数将生成的图像添加到PDF中。由于jspdf.min.js
版本中具有相同名称的函数,因此使用这种方法不会覆盖该函数,我可以使用能够处理常规图像和服务器生成图像的函数。
base64Img
应该被定义为什么? - damon