首页 > 解决方案 > jsPDF中的addImage错误(无法读取未定义的属性'addImage')

问题描述

我正在开发一个电子学习课程,成功完成课程后可以下载证书。我正在使用 jsPDF,一切正常,我可以将变量从课程复制到 pdf,我可以保存 pdf,但是当我尝试添加背景图像时遇到了问题。

我不是 JavaScript 专家,所以我正确地遵循了文档。我能够将脚本加载到 html 中,除了 addimage 函数之外,javascript 代码运行良好,它总是给出“无法读取未定义的属性 'addImage'”并使脚本崩溃。

这是我正在使用的 javascript:

var player = parent.GetPlayer();
var doc = new jsPDF('p', 'mm', 'a4');
var certif = player.GetVar("cert");

if (certif == 1) {
   parent.backgroundimage ();
 }
var namename = player.GetVar("input1");
 doc.setFontSize(18);
 doc.setTextColor(0,0,0);
 doc.setFontStyle("bold");
 doc.text(17, 55, namename);

doc.save('Certificate.pdf');


这是我单独保存的 backgroundimage 函数的单独 javascript (image.js),因为 Articulate Storyline 不直接支持 Base64。

function backgroundimage() {
var imgData = 'data:image/jpeg;base64,... string with over 120.000 characters'
doc.addImage(imgData, 'JPEG', 0, 0, 210, 223)
}


这是我在 html 头部包含的脚本:

<script src="https://unpkg.com/jspdf@latest/dist/jspdf.min.js" type="text/javascript"></script>
<script src="https://unpkg.com/jspdf@1.5.3/dist/jspdf.debug.js" type="text/javascript"></script>
<script src="image.js" type="text/javascript"></script>


一切似乎都正常,我可以创建、保存 pdf、定位文本,我可以调用函数“backgroundimage”(使用 console.log 测试)我只在包含 doc.addimage 时出现错误。我已经使用 jspdf 中包含的 addimage.js 进行了测试,但没有结果。我使用下载的 javascripts,并且仅尝试使用 jspdf.js,可能是我能想到的所有可能性,但没有结果。

标签: javascriptjspdf

解决方案


推荐阅读