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

jsPDF working on first save, not updating on second

本文关键字:保存 更新 第二次 工作 jsPDF 第一次      更新时间:2023-09-26

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

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

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

有没有办法"清除"或"杀死"旧的PDF?在再次运行函数之前,我尝试将 var doc 设置为 null,但这没有帮助。不知何故,生成的第一个 PDF 是我所能提供的全部。

下面是制作 PDF 的代码。这些 frontImg 和 backImg var 包含 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 不应该也更新吗?

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

$(".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');
});

我遇到了同样的问题,即更改变量时 pdf 未更新。在创建新的 pdf 之前,请小心并检查是否要更新变量。单击时,您始终创建一个新的 PDF 。