jsPDF 在第一次保存时工作,在第二次保存时不更新

cla*_*ark 5 javascript pdf jquery data-uri jspdf

场景:用户选择几个选项,下载 PDF。然后,用户更改一些选择,并下载新的 PDF。

问题:第一次运行时一切正常,但尝试下载第二个 PDF 会为用户提供相同的旧 PDF。

我的想法/猜测:运行 jsPDF 操作(制作文档、添加内容、保存文档)的函数在单击时调用。我的假设是所有操作都会在单击时重新运行,但情况似乎并非如此。

有什么方法可以“清除”或“杀死”旧的 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');

});
Run Code Online (Sandbox Code Playgroud)

这里有人有什么想法吗?一旦用户采取更新 frontImg 和 backImg 变量的操作,PDF 是否也应该更新?

小智 6

尝试再次初始化文档...

$(".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');
});
Run Code Online (Sandbox Code Playgroud)