jspdf指定部分转PDF并进行下载(支持中文)
2018-01-22 16:46
1271 查看
<script src="${ctx}/front/jsPDF-master/libs/html2canvas/dist/html2canvas.js"></script> <script src="${ctx}/front/jsPDF-master/dist/jspdf.min.js"></script> <script type="text/javascript"> function download1(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE=window.ActiveXObject || "ActiveXObject" in window if (isIE){ alert('抱歉,暂不支持IE浏览器下载!'); return; } $('#container')[0].scrollIntoView(true);//防止生成的PDF只能生成一半内容 html2canvas(document.getElementById("container"), { onrendered:function(canvas) { var contentWidth = canvas.width; var contentHeight = canvas.height; //一页pdf显示html页面生成的canvas高度; var pageHeight = contentWidth / 595.28 * 841.89; //未生成pdf的html页面高度 var leftHeight = contentHeight; //pdf页面偏移 var position = 0; //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 var imgWidth = 555.28; var imgHeight = 555.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', 20, 0, imgWidth, imgHeight ); } else { while(leftHeight > 0) { pdf.addImage(pageData, 'JPEG', 20, position, imgWidth, imgHeight) leftHeight -= pageHeight; position -= 841.89; //避免添加空白页 if(leftHeight > 0) { pdf.addPage(); } } } pdf.save('登记表.pdf'); } }) } function download2(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE=window.ActiveXObject || "ActiveXObject" in window if (isIE){ alert('抱歉,暂不支持IE浏览器下载!'); return; } $('#container2')[0].scrollIntoView(true);//防止生成的PDF只能生成一半内容 html2canvas(document.getElementById("container2"), { onrendered:function(canvas) { var contentWidth = canvas.width; var contentHeight = canvas.height; //一页pdf显示html页面生成的canvas高度; var pageHeight = contentWidth / 595.28 * 841.89; //未生成pdf的html页面高度 var leftHeight = contentHeight; //pdf页面偏移 var position = 0; //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 var imgWidth = 555.28; var imgHeight = 555.28/contentWidth * contentHeight; var pageData = canvas.toDataURL('image/jpeg', 1.0); var pdf = new jsPDF('', 'pt', 'a4'); 4000 //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89) //当内容未超过pdf一页显示的范围,无需分页 if (leftHeight < pageHeight) { pdf.addImage(pageData, 'JPEG', 20, 0, imgWidth, imgHeight ); } else { while(leftHeight > 0) { pdf.addImage(pageData, 'JPEG', 20, position, imgWidth, imgHeight) leftHeight -= pageHeight; position -= 841.89; //避免添加空白页 if(leftHeight > 0) { pdf.addPage(); } } } pdf.save('附表.pdf'); } }) } </script>
相关文章推荐
- JS导出PDF插件(支持中文、图片使用路径)
- JS~字符串长度判断,超出进行自动截取(支持中文)
- JS~字符串长度判断,超出进行自动截取(支持中文)
- [C语言]字符串处理- 提取字符串指定部分(支持中文字符)
- js实现超过长度的字符截取指定长度(中文字符算2个字符),超出部分以...显示
- JS~字符串长度判断,超出进行自动截取(支持中文)
- JS~字符串长度判断,超出进行自动截取(支持中文)
- js--小demo--字符串长度判断,超出进行自动截取(支持中文)
- JS导出PDF插件的方法(支持中文、图片使用路径)
- JS字符串长度判断,超出进行自动截取的实例(支持中文)
- JS~字符串长度判断,超出进行自动截取(支持中文)
- js生成pdf文件,支持中文字体,插入图片
- js控制文本框只能输入中文、英文、数字与指定特殊符号
- sublime text 2中添加gb18030编码的支持(解决安装gbk编码支持后部分中文文件依然乱码的问题)
- itext将html转pdf中文支持
- flying-saucer + iText + Freemarker实现pdf的导出, 支持中文、css以及图片
- 纯JS导出excel(支持中文)
- java 将pdf多页转换成一张图片,支持指定页数
- jQuery.qrcode.js客户端生成二维码,支持中文并且可以生成LOGO
- js二维码插件,支持中文字符