You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Storyline 360环境下jsPDF调用GetVar获取数字变量失效问题咨询

问题根因

jsPDF 1.5.3版本的doc.text()方法仅支持传入字符串类型的文本参数,你从Storyline中通过GetVar拿到的数字类型变量直接传入该方法时,会触发参数类型不匹配异常,而文本类型变量本身符合参数要求,因此运行正常。

解决方案

无需修改Storyline侧的变量类型,你可以正常对拿到的数字变量做数学运算,仅在调用doc.text()写入PDF时,将数值转换为字符串即可,同时满足数值运算和PDF生成的需求。

调整后可运行代码

// 读取Storyline播放器变量
var player = GetPlayer();
// 拿到的是数字类型,可直接做各类数学运算
userScore01 = player.GetVar("UserScore");
// 示例运算:userScore01 = userScore01 * 2 + 5;

// 生成PDF
var doc = new jsPDF();

doc.setFontType("bold");
doc.setFontSize(16);
// 传入文本前将数字转为字符串即可
doc.text(20, 28, userScore01.toString());

// 保存PDF
doc.save('Test.pdf');

你也可以根据个人编码习惯,替换为String(userScore01)或者userScore01 + ''的写法实现同样的转字符串效果。如果需要处理变量未赋值的异常场景,可以加兜底逻辑:(userScore01 || 0).toString(),避免变量为空时触发报错。


内容的提问来源于stack exchange,提问作者Daryl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:15:06