'Save PDF' 动态页面上的函数显示多次迭代的结果全部重叠

'Save PDF' function on dynamic page shows results from multiple iterations all overlapping

我有一个基于 PHP 的工具,可以动态生成几段内容。我添加了一个按钮将您的结果保存为 PDF(使用 jsPDF)。如果您生成一次内容,然后点击一次保存按钮,效果会很好。但是如果多次生成和保存,PDF 会显示所有生成的结果相互重叠。

这是项目:Generator 如果你点击生成按钮,然后点击保存按钮(保存),然后再生成一次,再保存一次,你就会明白我的意思了。

<script src='https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.2.61/jspdf.min.js'> 
</script>


stuff


<script>

// Save page as PDF

var doc = new jsPDF();

var specialElementHandlers = {
    '#editor': function (element, renderer) {
        return true;
    } };

$('#saveBtn').click(function () {
    doc.fromHTML($('#responseArea').html(), 15, 15, {
        'width': 170,
        'elementHandlers': specialElementHandlers });

    doc.save('npc.pdf');
});

</script>

保存按钮应该生成干净的 PDF。似乎发生的情况是,当您多次执行此操作时,新数据确实位于旧数据之上而没有清除它。

查看此问题:https://github.com/MrRio/jsPDF/issues/2000

他们在回复中表示不再支持 fromHTMLaddHTML

我建议使用替代库,例如 https://github.com/eKoopmans/html2pdf