【问题标题】:jsPDF with html2canvas producing blurry pdf?带有html2canvas的jsPDF产生模糊的pdf?
【发布时间】:2019-11-27 10:00:36
【问题描述】:

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

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');
                    }
                })
            };

【问题讨论】:

    标签: javascript html pdf-generation html2canvas html2pdf


    【解决方案1】:

    你可以给它更好的质量。 在 html2canvas 中,您的质量等级为 0-4。

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

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

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

    【讨论】:

    • 我像你说的那样使用了质量,但它没有影响,还有一个有趣的事情要注意,所有更改(比例 1-5,dpi,质量 1-4)对文件没有任何影响大小,它们都是 1.91mb,不管我做什么
    • 还有人遇到这个问题吗? html2canvas 模糊图片
    猜你喜欢
    • 2017-05-27
    • 2019-05-22
    • 2019-11-06
    • 1970-01-01
    • 2020-07-11
    • 2014-05-13
    • 2021-06-05
    • 2019-04-06
    • 2019-01-11
    相关资源
    最近更新 更多