最近2天的简单问题搜索,但未找到解决方案
我正在使用jsPDF的addHTML api将html转换为pdf

$('#loadPdf').on('click', function() {
        var pdf = new jsPDF('p', 'in', 'a4');
        pdf.addHTML($('#complete')[0], function() {
            pdf.save('new.pdf');
            pdf.output('datauri');
        });
    });

这将产生模糊图像pdf文本显示模糊。我进行了很多搜索,找到了一些链接(在下面共享),但没有得到答案。

html2canvas-generates-blurry-images

addHTML image quality

jspdf and addHTML / blurry font

有什么方法可以获取高质量的图像pdf。如果我不使用addHTML api并使用其他任何API,则图像不会以pdf显示。请帮忙

最佳答案

似乎许多人仍在使用pdf.addHTML()并存在相同的低质量问题。 pdf.addHTML()实际上实际上是deprecated。新的支持 vector 的API pdf.html()效果更好。自己看看他们的sample。这是使用jsPDF和 html2canvas 1.0.0-alpha.11 的工作代码:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js"
        integrity="sha384-NaWTHo/8YCBYJ59830LTz/P4aQZK1sS0SneOgAvhsIl3zBu8r9RevNg5lHCHAuQ/"
        crossorigin="anonymous">
</script>
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
<script>
    function download() {
        let pdf = new jsPDF('l', 'pt', 'a4');
        pdf.html(document.getElementById('id'), {
            callback: function () {
                //pdf.save('test.pdf');
                window.open(pdf.output('bloburl')); // to debug
            }
        });
    }
</script>

07-24 17:51