说明
- 要导出的内容用 .pdf 包裹 ,默认会以.pdf的子节点进行整块的高度计算,如果孙节点需要整块计算,孙节点的父节点上增加.pdf;
- 如果导出的内容里面有外部图片引用,需要配置外部图片支持跨域;
直接上代码
import html2PDF from 'jspdf-html2canvas';
// 存储变化前的dom的边距
// 为了自动分页,改变部分dom界面的上边距
const originMarginTop = []
// 按照a4的尺寸,网页宽度1280计算的每页高度为1810.286
// 计算公式是 pageHeight = width*297/210
const pageHeight = 1810.286
//存储pdf根节点距离页面顶部的高度,这个高度会随着后面的计算动态变化,所以需要每次导出时候进行重置
let top = 0
// eslint-disable-next-line no-unused-vars
export function exportPdf(dom, fileName, success) {
// 重置顶部高度
top = dom.offsetTop
// 动态计算dom是否跨页,跨页则增加margin-top 将这部分内容挤到下面的页面
countPosition(dom)
// 进行导出
setTimeout((