使用jsPDF插入图片失败求助:提示图片格式不符
解决jsPDF添加Logo时“文件不是.jpg或.png格式”的问题
校验图片实际格式
部分图片后缀显示为jpg/png,但实际编码不符合标准。用图片编辑工具(如系统画图、Photoshop)重新导出为规范的jpg或png格式,避免文件编码异常导致校验失败。使用base64编码嵌入图片
jsPDF对本地路径图片的格式校验可能存在限制,将图片转换为base64编码后再传入:// 替换为你的图片base64字符串(需带data:image/png;base64, 前缀) const logoBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...'; const doc = new jsPDF(); // 参数依次为:base64串、图片格式、x坐标、y坐标、宽度、高度 doc.addImage(logoBase64, 'PNG', 10, 10, 50, 20); doc.save('result.pdf');确保图片加载完成后再调用addImage
通过URL加载图片时,必须等待图片加载完成再执行添加操作,否则会因图片未加载完全触发格式错误:const doc = new jsPDF(); const img = new Image(); img.src = './your-logo.png'; img.onload = function() { doc.addImage(img, 'PNG', 10, 10, 50, 20); doc.save('result.pdf'); }; img.onerror = () => console.error('图片加载失败,请检查路径或格式');升级jsPDF版本
旧版本可能存在格式兼容bug,执行命令升级到最新稳定版:npm install jspdf@latest
内容的提问来源于stack exchange,提问作者Joaquim Sousa
相关产品推荐
相关产品推荐

