我正在开发一个电子学习课程,可以在成功完成课程后下载证书。我正在使用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进行了测试,但是没有结果。我使用了下载的JavaScript,并且仅尝试使用jspdf.js,可能是我能想到的所有可能性,但没有结果。