html2canvas的jsPDF产生模糊的pdf?

时间:2019-07-18 12:56:06

标签: javascript html pdf-generation html2canvas html2pdf

我目前正在通过html2canvas将div的内容转换为png,但是使用scale:5或dpi:等对随后的图像质量没有任何影响。 这是html2canvas的结果,因为我在pdfcon()函数期间附加了画布,并且它非常模糊:)。 我已经在网上搜寻了无济于事的答案,将不胜感激:)。 (我也在使用羽毛笔编辑器)

HTML:

    <div id="editorOne" class="pdf-convert ql-container ql-snow">
        <div id="specialEdit" class="ql-editor" data-gramm="false" contenteditable="false">
            <?php echo stripslashes($newClean); ?>
        </div>
    </div>
    <button onclick="pdfcon()">Save Pdf</button>

JS:

function pdfcon() {
                html2canvas($("#editorOne"), {
                    scale: 5,
                    onrendered: function (canvas) {
                        document.body.appendChild(canvas);
                        var img = canvas.toDataURL("png");

                        var doc = new jsPDF("p", "mm", "a4");

                        var width = doc.internal.pageSize.getWidth();
                        var height = doc.internal.pageSize.getHeight();

                        doc.addImage(img, 'PNG', 0, 0, width, height);
                        doc.save('testing.pdf');
                    }
                })
            };

1 个答案:

答案 0 :(得分:0)

您可以为其提供更好的质量。 在html2canvas中,您的质量等级为0-4。

您必须将其作为参数添加到对象中。

html2canvas($("#editorOne"), {
                quality: 4,
                scale: 5,

但是请注意,质量等级4可以使pdf文件的大小约为60mb。 最好的选择是使用1级或2级质量。