场景:用户选择一些选项,下载PDF。然后,用户更改一些选项,并下载新的PDF。
问题:第一次运行时一切正常,但尝试下载第二张PDF会为用户提供相同的旧PDF。
我的想法/猜测:点击时会调用运行jsPDF操作(make doc,添加内容,保存文档)的函数。我的假设是所有操作都会在点击时重新运行,但情况似乎并非如此。
有没有办法“清除”或“杀死”旧的PDF?我尝试将var doc设置为null,然后再次运行该函数,这没有用。不知何故,生成的第一个PDF就是我能够服务的。
以下是制作PDF的代码。那些frontImg和backImg变量包含dataURI。
$(".button").click(function(){
var doc = new jsPDF('landscape');
doc.addImage(frontImg, 'PNG', 0, 0, 300, 210);
doc.addPage('a6','l');
doc.addImage(backImg, 'PNG', 0, 0, 300, 210);
doc.save('file.pdf');
});
这里有任何想法吗?一旦用户采取更新frontImg和backImg变量的操作,PDF不应该更新吗?
答案 0 :(得分:3)
尝试再次初始化文档...
$(".button").click(function(){
var doc = new jsPDF('landscape');
doc.addImage(frontImg, 'PNG', 0, 0, 300, 210);
doc.addPage('a6','l');
doc.addImage(backImg, 'PNG', 0, 0, 300, 210);
doc.save('file.pdf');
doc = new jsPDF('landscape');
});