js实现html网页直接转pdf
2017-11-23 18:03
435 查看
<script type="text/javascript" src="./js/html2canvas.js"></script> <script type="text/javascript" src="./js/jsPdf.debug.js"></script> <script type="text/javascript"> var downPdf = document.getElementById("renderPdf"); downPdf.onclick = function() { html2canvas(document.body, { 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; //pdf页面偏移 var position = 0; //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', 0, 0, imgWidth, imgHeight ); } else { while(leftHeight > 0) { pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight) leftHeight -= pageHeight; position -= 841.89; //避免添加空白页 if(leftHeight > 0) { pdf.addPage(); } } } pdf.save('content.pdf'); } }) } </script>
需要引入html2canvas.js和jsPdf.debug.js,触发点击事件,直接把该页面html转pdf
相关文章推荐
- JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
- pdf.js实现在HTML下直接浏览pdf文档,无需插件即可实现
- pdf.js实现在HTML下直接浏览pdf文档,无需插件即可实现
- pdf.js可以实现在html下直接浏览pdf文档
- JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
- pdf.js实现在HTML下直接浏览pdf文档,无需插件即可实现
- [随记]浅谈pdfobject.js实现网页PDF文件浏览
- js实现不提示直接关闭网页窗口
- 纯js实现html转pdf
- HTML,CSS,JS实现网页聊天窗口
- html中实现添加水印的功能 / 在jsp页面上直接打开PDF文件
- html2canvas 实现纯JS网页截图简单例子
- 网页天幕代码!从css、html到js的完美实现(自执行函数加原型的完美应用)!!
- 纯js实现html转pdf
- [随记]浅谈pdfobject.js实现网页PDF文件浏览
- Jquery.media.js实现网页在线预览pdf文件
- js通过html2canvas,jspdf,canvg来对网页进行截图生成pdf
- html+css+js实现扁平风格网页计算器
- 将 html 代码写入 js 文件中,然后在网页中引用此 js 文件,实现头模板重用
- php动态网页实现页面静态化 通过在初次被访问时生成html文件保存起来,下次该PHP程序被访问时就直接找到以前被访问过的html页面