需求是一个div带着样式,下载出来是pdf文件
采用了 html2canvas.js+jsPDF.js 去实现这个功能
注:最好是一页,如果分页了话,会出问题(因为需求下载div不需要分页,就没有研究~哈哈哈)
本来该给个下载地址的,但是我忘记在哪里下载的了。。。
正常的引入 html2canvas.js和jsPDF.js
<script src="./libs/html2canvas.js"></script>
<script src="./libs/jsPDF.js"></script>
封装的js 直接拿去用就好了
/**
* @param ele 要生成 pdf 的DOM元素(容器)
* @param padfName PDF文件生成后的文件名字
* */
function downloadPDF(ele, pdfName) {
let eleW = ele.offsetWidth // 获得该容器的宽
let eleH = ele.offsetHeight // 获得该容器的高
let eleOffsetTop = ele.offsetTop // 获得该容器到文档顶部的距离
let eleOffsetLeft = ele.offsetLeft // 获得该容器到文档最左的距离
var canvas = document.createElement('canvas')
var abs = 0
let win_in = document.documentElement.clientWidth || document