HTML转pdf
<body>
<div class="chart" id="chart">
<img src="../images/group10.png" alt="图片加载失败" />
<img src="../images/permission.png" alt="图片加载失败" />
Hello
</div>
<span id="screenImage" class="btn-screen" >截屏</span>
<a id="downImage" href="" class="btn-screen" >下载</a>
<img id="screenShotImg" src="../images/favicon.jpg" alt="图片" class="screen" />
</body>
<script src="../js/jquery-2.1.4.js"></script>
<script src="../plug/canvas/html2canvas.js"></script>
<script src="../plug/canvas/jspdf.min.js"></script>
<script>
$(document).ready(function() {
$('#screenImage').click(function(e) {
var createBox = $('#chart');
html2canvas(createBox).then(function(canvas) {
var imgUrl = canvas.toDataURL('image/png', 1.0);
var param = new Date().getTime();
$('#screenShotImg').attr('src', imgUrl);
$('#downImage').attr('href', imgUrl);
$('#downImage').attr('download', 'screen_' + param);
var canvasWidth = canvas.width;
var totalHeight = canvas.height;
var pageHeight = canvasWidth/595.28 * 841.89;
var deviation = 0;
document.body.appendChild(canvas);
var doc = new jsPDF('','pt','a4');
if(pageHeight >= totalHeight){
doc.addImage(imgUrl, 'PNG', 0, 0, 595.28, 841.89);
}else{
while(totalHeight > 0){
doc.addImage(imgUrl, 'PNG', 0, deviation, 595.28, 595.28/canvas.width * canvas.height);
totalHeight -= pageHeight;
deviation -= 841.89;
if(totalHeight > 0){
doc.addPage();
}
}
}
doc.save(param + '.pdf');
});
});
});
</script>

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微信小程序跳转页面失效
微信小程序跳转失效原因, 跳转位置是否在app.json注册过, 跳转位置是否写错, 跳转位置是否在TabBar中,需要使用wx.switchTab 来跳转界面 <navigator url="/page/user/user"></navigator> <navigator url="/page/user/user" open-type="redirect"></navigator> <navigator url="/page/user/user" open-type="switchTab"></navigator>
- 下一篇
iframe父子页面通讯解决方案
有两点要注意 onload加载完成再进行操作 子页面延时获取 场景是这样的,父级页面嵌套了多个iframe,report_six.html子级页面按需加载数量,且每个子页面渲染不同的数据。 父页面for循环加载子页面数量,动态生成id,根据对应的id,传值给对应的子级页面元素,一定要写在onload里面 下面是父页面 <body> <iframe src="report_one.html" frameborder="0" width="630" height="891"></iframe> <iframe src="report_two.html" frameborder="0" width="630" height="891"></iframe> <iframe src="report_three.html" frameborder="0" width="630" height="891"></iframe> <iframe src="report_four.html" frameborder=...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库