带有 html2canvas 的 jsPDF 生成模糊的 PDF



我目前正在通过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');
                    }
                })
            };

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

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

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

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

最新更新