html2canvas+pdfjs 打印html

项目中需要将页面中的某个功能块进行打印。

思路:使用html2canvas将html转化成图片,打印这个图片

遇到的问题: 打印图片的时候,出现模糊的问题,进行scale放大,导致打印的整体变大

解决办法:

出现模糊的问题: 设置scale值,

导致打印的整体变大:对imageStyle进行设置

javascript 复制代码
     const printArea = document.getElementById("print-area");
        const canvas = await html2canvas(printArea, {
          useCORS: true,
          allowTaint: true,
          scale: 8,
        });
        const imgSrc = canvas.toDataURL("image/png");
        printJS({
          printable: imgSrc,
          type: "image",
          documentTitle: "--",
          base64: "true",
          imageStyle: `width:${printArea.offsetWidth}px;height:${printArea.offsetHeight}px;`
        });

效果图:

实际打印:

相关推荐
吃西瓜的年年13 分钟前
TypeScript
javascript·ubuntu·typescript
小村儿1 小时前
连载10-Sub-agents 深度解析:从源码理解 Claude Code 的分身术
前端·后端·ai编程
IT_陈寒1 小时前
Vite动态导入把我坑惨了,原来要这样用才对
前端·人工智能·后端
DFT计算杂谈1 小时前
KPROJ编译教程
java·前端·python·算法·conda
觅_2 小时前
前端学习后端的时候 选择一个技术
前端·学习
独泪了无痕2 小时前
CryptoJS:数据安全的JavaScript加密利器
前端·vue.js·node.js
发现一只大呆瓜2 小时前
一文搞懂 Vite 处理CommonJS包、按需编译逻辑及 Rollup 插件兼容规则
前端
Edwardwu2 小时前
写了个y-mxgraph:给 draw.io 接上了 Yjs,顺便解决了部署在 iframe 里的一堆问题
前端·typescript
其实防守也摸鱼2 小时前
软件安全与漏洞--软件安全编码
java·前端·网络·安全·网络安全·web·工具
发现一只大呆瓜3 小时前
Vite 开发预构建机制详解,搞懂 esbuild 与 Rollup 分工差异
前端·面试·vite