无法为Base64 PNG图像添加到JSPDF的Javascript
问题描述:
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>
当我路过的base64字符串从我无法将这些base64s添加到下面JSPDF的图像web服务的一个是我在IE无法为Base64 PNG图像添加到JSPDF的Javascript
得到错误不完整或损坏的PNG文件
。我已整幅图像的整个的base64字符串。如果我使用任何在线转换工具,此Base64可以正常工作并能够看到图像。
可能是什么原因JSPDF无法分析这种类型的base64字符串和其他似乎已成功解析字符串的原因是什么?
答
图像的Base64数据是JPEG,所以是错误。
var imgSampleData ='data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD/2w...';
data:image/png
必须被改变为data:image/jpeg
和JSPDF没有认识到的是,如果数据是JPEG和在上面的行失败。我提出了一个JSPDF的问题。
尝试将base64字符串复制粘贴到浏览器的url栏中。如果您无法看到图像,则字符串可能已损坏。 – elarmando
谢谢@elarmando字符串工作正常!所以不会损坏 –
我看到您正在调用btoa函数,如果字符串已经在base64中,则不需要调用btoa – elarmando