网上好多思路啊,大部分都是将html转pdf,这种方法我试了很多,都不能很好地支持jsp,稍微复杂一点根本不起作用,也不知他们的博客都怎么写的,还真是应了那句话天下博客一大抄,自己都不验证的

下面说下我的实现,参考了网上两篇博客,后面不小心把网页关了找不到地址了,对原作者真是抱歉

<a id="downLoad" href="javascript:void(0)">点击下载pdf</a>

<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><script type="text/javascript">var downPdf = document.getElementById("downLoad");downPdf.onclick = function() {downPdf.parentNode.removeChild(downPdf);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>

注意,微信内置浏览器不能下载

转载于:https://www.cnblogs.com/yanan7890/p/9567123.html

将jsp页面转pdf相关推荐

  1. 动态jsp页面转pdf项目示例

    最近让座一个pdf报告,需要用到jsp转pdf,在网上找了好多文章看,但是都是讲的云里雾里,在这我给大家整理一下,希望能帮助到你. 首先我先贴出我的处理类: package net.zkbc.mp.u ...

  2. java jsp导出pdf文件_JSP页面导出PDF格式文件

    JSP页面导出PDF格式文件基本在前端页面可以全部完成 添加下载链接的点击事件 var downPdf = document.getElementById("downLoad"); ...

  3. 将jsp页面转化为图片或pdf(一)(qq:2798641729)

    在项目中遇见了将jsp页面转化为pdf的问题,试过itext,但是itext需要标准的html代码,我的页面中的一些属性是itext所不识别的,所以努力了一段时间后就放弃了,后来发现htmlutil抓 ...

  4. jspdf插件实现jsp页面导出为pdf文件

    最近在公司里实习作项目,项目中有一个优化需求,就是将指定的jsp页面导出为pdf文件输出.因为之前从未了解过相关方面只知识,所以在查了一番资料后,发现大家写的都很散,不是很清楚,甚至有的代码执行不出来 ...

  5. jsp页面直接生成pdf 所用js:html2canvas.js,jspdf.debug.js

    1.需要准备3个js (1)html2canvas.js (2)jspdf.debug.js 2.js部分代码段 function printpagePdf(){var printButton = d ...

  6. jsp页面在线显示pdf文件

    实现功能 知识库系统中存在一个附件就是一个知识,当全文搜索到这个附件知识的时候需要能在线查看这个知识也就是附件里的文章内容.(如果不是pdf格式的文档,我们这边是先将不同格式的附件转成PDF格式) 实 ...

  7. jsp页面实现打印 .

    报表在信息系统中占据了极为重要的位置,广义上讲,报表主要以多样的格式呈现和打印动态数据,动态数据主要指保存在数据库中的数据,也可以是文本中的数据.XML数据.Hibernate数据.EJB数据.自定义 ...

  8. Java只读服务器,在服务器端,JSP页面如何只读打开本地的word文件并显示在网页上...

    在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上? 最近开发网站,遇到一个问题就是在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上,请问高位高手有没有什么解决办法, ...

  9. web页面jsp页面的打印

    报表在信息系统中占据了极为重要的位置,广义上讲,报表主要以多样的格式呈现和打印动态数据,动态数据主要指保存在数据库中的数据,也可以是文本中的数据.XML数据.Hibernate数据.EJB数据.自定义 ...

最新文章

  1. 干货 | 一文教你如何快速高效阅读Paper(硕士生版)
  2. 51nod 1087 1 10 100 1000
  3. Python可视化:Seaborn(二)
  4. oracle 压测工具 ld,Oracle压力测试工具使用说明
  5. android sutdio工程名修改,在Android Studio上更改项目名称
  6. mybatis扫描mapper的xml文件参数
  7. 递推:Ybtoj: D.4 序列个数
  8. 安装Microsoft Windows SDK 7.1时出现的错误(附解决办法)
  9. LeetCode 1891. 割绳子(二分查找)
  10. 教师使用计算机职责,教师办公室计算机使用制度
  11. Windows Phone 7 利用计时器DispatcherTimer创建时钟
  12. python经典实例-python经典实例
  13. 左移寄存器vhdl_用VHDL实现的通用循环移位寄存器
  14. 手动注册native方法
  15. 什么是网络割接【转自红茶三杯】
  16. HTML简单的登录页面--实例
  17. dcdc 国产 电源芯片电路方案 选型小体积大功率高性价比推荐 不定期更新中..
  18. shell实现ftp命令示例
  19. 如何查询微信安全情况?域名被微信拦截的因素?
  20. 双非大学改考408,软件工程专业考研报考人数较少!

热门文章

  1. 新型支架状电极允许人类思想操作计算机
  2. 《EE Times》评出2020年全球最值得关注的18家传感器公司
  3. 剑桥大学发布2019年度AI发展报告,预测未来12个月AI产业6件大事
  4. 科学为什么重要?马化腾公开信引热议,透露企业未来发展方向
  5. 量子计算技术发展迅猛,商业潜力初现!如何把握量子计算时代的新机遇?
  6. 干货 | 加速AI发展!一文了解GPU Computing
  7. 哥伦比亚大学AI实验室主任Hod Lipson:阻碍无人驾驶技术发展的7个误区
  8. iPhone nano 被取消是因为乔布斯看到了风向?
  9. 《当代 95 后の北上广出逃计划》
  10. 福利内卷时代来临!腾讯为 3300 名员工发 11 亿红包