无法将base64 png图像添加到JSPDF Javascript

时间:2017-10-21 00:00:01

标签: javascript html base64 png jspdf

 function save_pdf() {
 var doc = new jsPDF();  
 var imgSampleData ='data:image/png;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD/2w...';
 doc.addImage(btoa(imgSampleData), 'PNG', 15, 40, 175, 75);
 doc.save('MCR.pdf');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>

当我从其中一个webservices传递base64字符串时,我无法将这些base64添加到JSPDF的图像中,这是我在IE中得到的错误

PNG文件不完整或损坏

enter image description here

我已经附加了整个图像的整个base64字符串。如果我使用任何在线转换工具,这个Base64工作正常,能够看到图像。

Attachement base64 png string

JSPDF无法解析这种类型的base64字符串和其他似乎成功解析字符串的原因是什么?

1 个答案:

答案 0 :(得分:0)

图像的Base64数据是JPEG,错误也是如此。

var imgSampleData ='data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD/2w...';

data:image/png必须更改为data:image/jpeg,JSPDF无法识别如果数据是jpeg并且在上面的行失败。我提出了JSPDF Reagrding这个问题。