这个资料是普通html的(比较原生老旧,此博客写于2018年),如果你用Vue.js开发的话,推荐用vue下载pdf,网上已经有很多关于vue下载pdf的资料了。

1、简单描述

最近做了一个项目,我也是刚学js才几个多月,对js不是很懂,但是我相信,只要肯学,总会进步的。项目里面要实现把网页的试题下载成pdf,所以我有个同事就实现了这个功能,然后我参考着他写的代码就总结了一下。网页渲染的过程中因服务器性能和图片的数量而定,图片太多的话渲染就比较慢了。

2、需要的js

(1)html2canvas.js

(2)jspdf.debug.js

(3)renderPDF.js(这个是一个博主写的:http://blog.csdn.net/pwc1996/article/details/70141383)

(4)paper_download.js(这个是我同事封装的,并且支持图片跨域获取)

3、demo的代码

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>生成pdf下载</title><style type="text/css">.handle{margin: 0 auto;width: 500px;text-align: center;margin-bottom: 20px;}.download{cursor: pointer;padding: 4px 30px;border: 1px solid #008CCA;background: #01B9FF;color: #FFF;border-radius: 8px;}.download:active{background: #008CCA;}.page{margin: 0 auto;width: 1000px;border: solid 1px #000000;}.title{margin: 0 auto;width: 500px;text-align: center;}.content{margin: 0 auto;width: 800px;text-align: left;}.content img{max-width: 800px;}</style></head><body><!--参考 http://blog.csdn.net/pwc1996/article/details/70141383--><div class="handle"><span id="download-paper" class="download">下载为pdf</span></div><div class="page"><div class="title"><h4>我的pdf下载测试(支持图片跨域)</h4></div><div class="content"><p>语言优美:所谓优美,就是指散文的语言清新明丽(也美丽),生动活泼,富于音乐感,行文如涓涓流水,叮咚有声,如娓娓而谈,情真意切。所谓凝练,是说散文的语言简洁质朴,自然流畅,寥寥数语就可以描绘出生动的形象,勾勒出动人的场景,显示出深远的意境。散文力求写景如在眼前,写情沁人心脾。<img src="http://subangmedia.oss-cn-qingdao.aliyuncs.com/pdf/1.jpg" /></p><p>形散神聚:”形散“既指题材广泛、写法多样,又指结构自由、不拘一格;“神聚”既指中心集中,又指有贯穿全文的线索。散文写人写事都只是表面现象,从根本上说写的是情感体验。情感体验就是“不散的神”,而人与事则是“散”的可有可无、可多可少的“形”。<img src="http://subangmedia.oss-cn-qingdao.aliyuncs.com/pdf/2.jpg" /></p><p>散文素有“美文”之称,它除了有精神的见解、优美的意境外,还有清新隽永、质朴无华的文采。经常读一些好的散文,不仅可以丰富知识、开阔眼界,培养高尚的思想情操,还可以从中学习选材立意、谋篇布局和遣词造句的技巧,提高自己的语言表达能力。<img src="http://subangmedia.oss-cn-qingdao.aliyuncs.com/pdf/3.jpg" /></p><p>至于“形”的含义,《乐记》里有“在天成象,在地成形”的话。钱钟书先生释为“‘形’者,完成之定状”。钱先生还引述亚里士多德论“自然”有五层含义。其四,是“相形之下,尚未成形之原料”,也就是“有质而无形”的状态;其五,是“止境宿归之形”。这种由“原质”,“原料”而“成形”的说法用之于文章写作,也如钱先生所阐述的,“春来花鸟,具‘形’之天然物色也,而性癖耽吟者反目为‘诗料’”。指明做为“诗料”的“形”,即包括着“题材”的内。“吟安佳句,具‘形’之词章也”。指明做为诗文的“形”即指“词章”,包括语言、结构等。我在上文所论“形”的概念,也具有同这里所引说法的一致性。<img src="http://subangmedia.oss-cn-qingdao.aliyuncs.com/pdf/4.jpg" /></p></div></div><script src="../tools/jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script><script src="../tools/pdf_download/html2canvas.js" type="text/javascript" charset="utf-8"></script><script src="../tools/pdf_download/jspdf.debug.js" type="text/javascript" charset="utf-8"></script><script src="../tools/pdf_download/renderPDF.js" type="text/javascript" charset="utf-8"></script><script src="../tools/pdf_download/paper_download.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">var imgArray = $('.page')[0].getElementsByTagName('img');var down = new downLoad(imgArray);down.init(document.getElementById('download-paper'),$('.page')[0],'pdf文件名称','a4');</script></body>
</html>

4、demo在线查看地址

https://www.sqbang.cc/demo/html2pdf/index.html

阿里的学生机过期了,文章尾部可以下载

下载方式:在demo地址里按F12,切换到开发者工具的“source”选项卡,找到js这个目录,然后右键选择“sava as..”即可下载对应的js

5、参考

http://blog.csdn.net/pwc1996/article/details/70141383

6、demo资源下载

https://download.csdn.net/download/SQ_Bang/12705581

严重怀疑系统自动设置下载所需C币(广告一大堆,还莫名其妙设置了东西),明白编辑过设置为0个C币的,过一段时间回来看又变成所需50个C币

链接: https://pan.baidu.com/s/1rO0I8uKxtMbjOea1Vs7QWQ 提取码: cwrg

js实现html页面转为pdf下载相关推荐

  1. js将html页面转为pdf

    在 JavaScript 中,可以使用以下两种方法将 HTML 页面转换为 PDF 文件: 使用第三方库,如 jsPDF 或 html2canvas. 使用浏览器的内置功能,如 window.prin ...

  2. java网页保存pdf_JavaScript+Java实现HTML页面转为PDF文件保存的方法

    JavaScript+Java实现HTML页面转为PDF文件保存的方法 发布于 2017-02-27 09:58:50 | 160 次阅读 | 评论: 0 | 来源: 网友投递 JavaScript客 ...

  3. java 网页保存为pdf文件怎么打开方式_js相关:JavaScript+Java实现HTML页面转为PDF文件保存的方法...

    js相关:JavaScript+Java实现HTML页面转为PDF文件保存的方法 发布于 2020-8-12| 复制链接 借助iText这个Java库,我们可以将HTML文件保存为图片文件进而转换成P ...

  4. VUE页面转pdf下载

    一.欢迎你们走进杭老师小学堂,今天给大家讲解一下vue页面转PDF下载,本人亲测有效哦! 随着项目体积的不断增加,我们的项目内容也逐渐越来越丰富新颖! 多了不说上需求跟代码! 1.首先我们要绑定一个按 ...

  5. Vue将当前页面转为PDF并下载

    一.安装所需依赖 1.将页面html转换成图片 npm install --save html2canvas 2.将图片生成pdf npm install jspdf --save 二.在公共文件夹下 ...

  6. h5页面转PDF下载(包括pc端和移动端)

    前情:需要在app内嵌的weixin项目将页面转成PDF并下载. 使用技术:html2canvas插件 + jspdf插件 实现思路:1)将h5页面用canvas画成图片 2)利用jspdf将图片插入 ...

  7. PDF.js实现html页面读取pdf文件内容

    项目中遇到要在HTML页面上读取PDF文档的内容,并显示在网页上. pdf.js官网:pdf.js官网 本地附件:pdf.js 一.下载 1.下载至本地 2.创建PDF.js文件夹 并将刚解压的文件放 ...

  8. js几个页面生成pdf 然后批量打印_太好用了!这款免费PDF工具能够满足你的各种需求...

    本文原创首发于微信公众号[小川PPT],欢迎联系转载! 入职的第一年,帮领导组织一份省级课题结题材料.要求把研究材料和支撑材料汇总到一个pdf文档中统一编排页码和格式,我慌了-- 从网上下载了一份排版 ...

  9. 使用pdf.js在web页面展示pdf文件

    最近弄的项目中需要在线展示PDF文件,以前用的是Adobe PDF阅读器直接在浏览器端打开的,这要求客户端必须安装这个软件,若是没有安装就不能在线预览了.为了解决这个问题,最终决定用pdf.js来实现 ...

  10. 知网CAJ转为PDF下载

    点击在线阅读->右击CAJ全文下载->复制链接地址->粘贴到地址栏->在尾部加 &dflag=pdfdown

最新文章

  1. Android studio中出现Couldn't resolve resource @dimen/...
  2. easyexcel根据模板写入_用 Vue+ElementUI 搭建后台管理极简模板
  3. antd + react model自定义footer_使用ESLint+Prettier规范React+Typescript项目
  4. html代码大全(很全的)_5行Python代码就能爬取 3000+ 上市公司的信息?
  5. 实用的 GitHub 仓库搜索技巧
  6. Python-opencv在线帮助
  7. caffe安装_目标检测之caffe-ssd模型训练与测试
  8. Windows Embedded CE 6.0开发初体验(五)构建CE平台
  9. 转:VMware安装Mac OS X Mavericks系统图文教程
  10. 极路由 1S 使用经验
  11. log4j控制日志的输出文件
  12. 2 万字长文详解 10 大多线程面试题|原力计划
  13. 为啥连接mysql失败_为什么连接数据库后插入老是失败?
  14. 利用lightgbm做learning to rank 排序,解析模型中特征重要度
  15. mysql查询id为5的数据类型_MySql学习05---数据类型
  16. 鼠标悬浮显示全部内容 不然隐藏部分内容
  17. 应届生从头脑风暴到游戏策划案的个人思路(二)
  18. 关于React Hooks使用
  19. P3403 跳楼机 同余最短路
  20. Codeforces - Captain Flint and Treasure

热门文章

  1. WINCE Activesync 同步问题
  2. 摄影毁一生单反穷三代顺口溜_哪款便宜的单反相机好
  3. Java网络编程基础
  4. 基于内容的图像特征提取系统
  5. Docker上安装DM8数据库
  6. android6.0 framework修改使用两个声卡
  7. java获取CPU温度centos,用软件lm_sensors监测Linux系统和CPU温度
  8. [远心镜头] 物方远心、像方远心和双远心镜头的区别
  9. 神经网络学习 之 BP神经网络
  10. JAVA等差素数列蓝桥杯_等差素数列(2017蓝桥杯,二题 )