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

效果图:

实际打印:

相关推荐
耳东小鹿8 小时前
对象常用方法
前端
程序员海军8 小时前
一个 AI 应用开发程序员的一天,都在屏幕前忙些什么?
前端·后端·程序员
程序员黑豆8 小时前
鸿蒙应用开发:Stack堆叠组件实战——实现微信消息角标效果
前端·harmonyos
夏幻灵9 小时前
浏览器原理深度解析:从输入 URL 到页面展现的全流程剖析
前端
会周易的程序员9 小时前
js-shm: 高性能 Node.js 共享内存模块
开发语言·javascript·c++·node.js·共享内存·shm
闲猫9 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
带娃的IT创业者9 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc
happy_0x3f9 小时前
前端应用的离线暂停更新策略
开发语言·前端·php
你驴我10 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
新中地GIS开发老师11 小时前
零基础WebGIS开发入门 | GeoJSON数据持久化
前端·javascript·gis·webgis·三维gis开发