<head>
@*需要引用的js库*@
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script> </head>
<body>
<div id="pdfDom" class="right-aside">
1232132131sd
</div>
<input type="button" value="点击" onclick="makeMpdf('建设工程施工安全监督抽查记录', 'pdfDom')" />
<script type="text/javascript">//将html页面导出.pdf格式文件(适用于jQuery、vue库) -- xzz 2018/04/24
function makeMpdf(pdfName,elementId) {
if (confirm("您确认下载该PDF文件吗?")) {
//var target = document.getElementsByClassName("right-aside")[0];
var target = document.getElementById(elementId);
target.style.background = "#FFFFFF";
if (pdfName == '' || pdfName == undefined) pdfName = "content"; html2canvas(target, {
onrendered: function (canvas) {
var contentWidth = canvas.width;
var contentHeight = canvas.height; //一页pdf显示html页面生成的canvas高度;
var pageHeight = contentWidth / 592.28 * 841.89;
//未生成pdf的html页面高度
var leftHeight = contentHeight;
//页面偏移
var position = ;
//a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高
var imgWidth = 595.28;
var imgHeight = 592.28 / contentWidth * contentHeight; var pageData = canvas.toDataURL('image/jpeg', 1.0); var pdf = new jsPDF('', 'pt', 'a4'); //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)
//当内容未超过pdf一页显示的范围,无需分页
if (leftHeight < pageHeight) {
pdf.addImage(pageData, 'JPEG', , , imgWidth, imgHeight);
} else {
while (leftHeight > ) {
pdf.addImage(pageData, 'JPEG', , position, imgWidth, imgHeight)
leftHeight -= pageHeight;
position -= 841.89;
//避免添加空白页
if (leftHeight > ) {
pdf.addPage();
}
}
}
pdf.save(pdfName + ".pdf");
}
})
}
} </script>
</body>

最新文章

  1. oracle异常记录
  2. linux的设置ip连接crt,修改主机名,映射,建文件
  3. 字体 font typograph
  4. win7无法通过DHCP获得IP地址
  5. Web开发者不可不知的15条编码原则
  6. redis 资料链接
  7. okhttputils开源库的混淆配置(Eclipse)
  8. poj1087 A Plug for UNIX &amp; poj1459 Power Network (最大流)
  9. Jquery中dialog属性小记
  10. ionic中修改图标的问题
  11. iOS开发宝典:String用法大全
  12. angularjs---服务(service / factory / provider)
  13. windows 设置/修改全局快捷键
  14. Linux 操作系统基础
  15. 【Python3爬虫】为什么你的博客没人看呢?
  16. 关于vscode插件 的一些体验
  17. 4.13Python数据处理篇之Matplotlib系列(十三)---轴的设置
  18. 【原创】大数据基础之ORC(1)简介
  19. Kong(V1.0.2)Network &amp; Firewall
  20. Nginx打卡

热门文章

  1. pyecharts的使用
  2. React源码 ReactDOM.render
  3. Python多线程采集百度相关搜索关键词
  4. Kibana 学习资料
  5. FormData用法
  6. btcWallet系列之一-grpc模块
  7. 11.面试思路&amp;画图让抽象具体化(2)
  8. 【字符串】 manacher算法
  9. 【CF10D】 LCIS
  10. [题解向] Luogu4092 [HEOI2016/TJOI2016]树