通过Captivate for Captivate Prime LMS中的JavaScript创建PDF证书

时间:2018-11-02 18:11:01

标签: javascript adobe adobe-captivate

我正在通过Captivate课程创建自定义证书,该课程将在Captivate Prime中运行。我们编写了从Captivate Prime获取API的代码,它们似乎在Chrome,Firefox和Edge中填充,但在IE 7-10中却没有。作为一个单独的问题,将证书作为PDF的生成是通过代码完成的,并且该代码通过按钮激活。当学习者使用Captivate Prime重返课程后,该按钮将不再起作用。

设置:学习者参加10个问题测试。如果通过,则证书“课程”将打开,并在显示时将其从API中提取信息并填写常规信息;名称,地址,课程名称,竞赛等。学习者可以单击页面上的一个按钮,该按钮将创建PDF并下载所有包含已从API中提取的信息的PDF。在Internet Explorer中,Captivate Prime中的页面不会填写API信息,但可以在Chrome,Firefox和Edge中使用。如果您返回课程并返回到该内容(证书创建),则信息会再次加载到视觉上,但是该按钮将无法生成PDF。

我正在附加代码,但是如果我没有对此进行足够详细的描述或您有任何疑问,请随时提出。

这是PDF创作。

 function createCert() {
// This is the function that will generate a PDF from an image and text 
fields.
var imgBackground = new Image();
imgBackground.src = "DHA-Test-Cert.png";
imgBackground.onload = function () {
    var doc = new jsPDF({
        orientation: 'landscape',
        unit: 'in',
        format: [11, 8.5]
    });
    doc.addImage(imgBackground, 0, 0, 11, 8.5);
    var userName = window.cpAPIInterface.getVariableValue("v_UserName");
    var fileName = "DHACertPDF.pdf";
    var courseTitle = 
window.cpAPIInterface.getVariableValue("v_CourseTitle");
var dateCompleted = 
window.cpAPIInterface.getVariableValue("v_CompletionDate");
var userAddress1 = window.cpAPIInterface.getVariableValue("v_Address1");
var userAddress2 = window.cpAPIInterface.getVariableValue("v_Address2");
    var userCityStateZip = 
window.cpAPIInterface.getVariableValue("v_CityStateZip");

    doc.setFontSize(12);
    doc.setTextColor(0, 0, 0);
    doc.setFont("helvetica");
    doc.setFontType("bold");
    doc.text(4.6, 6.6, userName, null, null, 'left');
    doc.text(4.6, 7.2, courseTitle, null, null, 'left');
doc.setFontType("normal");
    doc.text(.41, 2.8, dateCompleted, null, null, 'left');
    doc.text(.41, 3.0, courseTitle, null, null, 'left');
doc.text(.41, 5.6, userName, null, null, 'left');
doc.text(.41, 5.8, userAddress1, null, null, 'left');
doc.text(.41, 6.0, userAddress2, null, null, 'left');
doc.text(.41, 6.2, userCityStateZip, null, null, 'left');
    doc.save(fileName);
};
}// JavaScript Document

0 个答案:

没有答案