解决html2canvas+jspdf 生成pdf 模糊的问题
2024-4-8 17:17:42 Author: www.uedbox.com(查看原文) 阅读量:6 收藏

问题

VUE项目使用html2canvas+jspdf生成PDF,发现不同的电脑,下载下来的文件大小不一样,清晰度也不一样;或者下载的PDF看着清晰,但使用打印机打印时,MAC下的没问题,但WINDOWS下就是模糊的。

解决

使用流程上来看,一是使用html2canvas生成图片,二是生成PDF。问题出在html2canvas生成图片这个环节,生成的图片不同的电脑分辨率下生成的DPI清晰度不同,比如MAC下生成的就是高清,WINDOWS下生成的就是普通清晰,所以首先调整html2canvas的清晰度(这里会增加图片的大小)。

参数名称类型默认值描述
scale(兼容)number1按比例增加分辨率 (2=双倍).
dpi(新版已取消)number96将分辨率提高到特定的 DPI(每英寸点数)

// 调用的方法

html2canvas(document.querySelector(".report"), {

    // 以下字段必填

    background: "#ffffff", // 一定要添加背景颜色,否则出来的图片,背景全部都是透明的

    scale: 3, // 处理模糊问题

    dpi: 300, // 处理模糊问题,新版已取消,只设置scale就行

    onrendered: function (canvas) {

        // let url = canvas.toDataURL('image/png', 1.0)

        let url = canvas.toDataURL();

        console.log(url);

    },

});

关于dpi、scale 参数问题

现在新的插件版本已经更新到了 1.4.1 ,我感觉现在用新版的生成的图片还好,挺清楚的,新版的没有 dpi 这个参数,可以两个版本对比一下试试那个清楚


文章来源: https://www.uedbox.com/post/69580/
如有侵权请联系:admin#unsafe.sh