当前位置: 首页 > news >正文

页面html结构导出为word或pdf

一、使用场景和原理

需要将当前页面(一般详情页面)或者dom容器中的内容保存/截图,并且导出为word或者pdf
导出word:获取dom结构直接转化为word导出
导出pdf:用canvas生成当前页面或者dom范围的快照,参考截图功能,然后将生成的canvas转为pdf内容并导出

二、需要用到的插件
npm i mhtml-to-word --save  //html结构转为word插件
npm i html2canvas --save  //获取dom,用canvas画下来,转为base64格式
npm i jspdf --save	//将canvas内容转为pdf内容
三、使用
import { exportWord } from 'mhtml-to-word'
import html2canvas from 'html2canvas';
import jsPDF from 'jspdf';

导出为word:

exportToWord=(e)=>{e.preventDefault();exportWord({filename: "日报详情",selector: ".dailyDetail",    //容器idstyle:''})
}

导出为pdf:

exportToPdf=(e)=>{e.preventDefault();let dom = document.getElementById('dailyDetail');let w = dom.offsetWidthlet h = dom.offsetHeighthtml2canvas(dom).then((canvas) => {//第一个参数为第一页pdf方向,p为纵向i为横向;第二个为单位,一般取mm,px;//第三个为第一页的格式let pdf = new jsPDF('p', 'px', 'a4');   //参数1:图片资源,可以是图片文件的路径或者base64编码字符串//参数2:类型//参数3,4:图片在PDF中的x、y轴坐标//参数5,6:图片在PDF中的宽度、高度//参数7(可选):指定图片资源的别名//参数8(可选):指定图片的压缩质量,取值为0-1之间的浮点数//参数9(可选):指定图片的旋转角度,取值范围为0-360之间的整数pdf.addImage(canvas.toDataURL('image/png'), 'PNG', 0, 0, w, h);pdf.save('日报详情.pdf');});
}
http://www.lryc.cn/news/205018.html

相关文章:

  • Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 详解
  • 自学(黑客技术)方法——网络安全
  • CVE-2023-46227 Apache inlong JDBC URL反序列化漏洞
  • MySQL几种方法的数据库备份
  • CI/CD:GitLab-CI 自动化集成/部署 JAVA微服务的应用合集
  • Flask 上传文件,requests通过接口上传文件
  • kvm webvirtcloud 如何添加直通物理机的 USB 启动U盘
  • html- a标签包裹img标签, 点击图片无法跳转问题记录及解决方法
  • Halcon转OpenCV实例--保险丝颜色识别(附源码)
  • 制造业中的微小缺陷检测——应用场景分析与算法选择(YoloV8/CANet)
  • 支持多校 微信课表小程序源码 排课小程序源码 支持导入课表 情侣课表 背景设置
  • 谷歌计划从Chrome119起测试IP隐私保护功能
  • 【技能树笔记】网络篇——练习题解析(九)
  • c++ qt连接操作sqlite
  • Qt之自定义QStringListModel设置背景色和前景色
  • 人工智能基础_机器学习001_线性回归_多元线性回归_最优解_基本概念_有监督机器学习_jupyter notebook---人工智能工作笔记0040
  • Linux 错误处理(字符设备基础三)
  • STM32 PWM配置及呼吸灯
  • 华为云 CodeArts Snap 智能编程助手 PyCharm 插件安装与使用指南
  • SpringSecurity分布式安全框架
  • 高速下载b站视频的解决方案
  • Qt之彻底解决QSpinBox限定范围无效的问题
  • Ktor vs Spring Boot:哪个框架能帮助你构建更高性能的 Web 应用?
  • 【Ubuntu18.04】激光雷达与相机联合标定(Livox+HIKROBOT)(一)
  • hadoop伪分布式安装部署
  • 前端视角看 Docker : 加速开发和部署的利器
  • JVM相关的面试题
  • HTML、CSS和jQuery:实现图片折叠展开的效果
  • php简单后门实现及php连接数据库
  • IOS课程笔记[6] 基础控件