网上有很多免费的在线电子书籍,没有pdf格式,不方便离线阅读,也不方便做记录,所以找了几个将在线内容制作成pdf文件的方法。
一、如果网站上的书籍内容没有分页,所有内容都直接显示出来了,最简单,直接将打印机设为PDF即可:
二、书籍内容分章节显示,需要点击链接重新请求数据切换的:
- 利用 teleport 软件将整个站点导出到本地。
- 利用 http-server(任意语言皆可)将上述站点起个本地服务。
- 安装adobe acrobat DC,它内置了浏览器内核,可以将前端代码直接渲染成pdf格式。使用细节参考--> adobe 用户指南
- 通过adobe acrobat的 converting-web-pages-pdf 功能将上述网站导出为pdf格式文件:
注意事项:
1.文件路径不能是中文,否则除了新建时输入的url能解析外,后续的url都解析错误,导致找不到文件,如下错误信息:
2.overflow:hidden部分不能被完整导出,需要勾选展开可滚动的块选项:
3.如果线上页面有不需要的部分,如广告,弹框,或者页面每章节都出现的导航栏,可以通过修改本地站点的css源码将其隐藏。
4.章节的顺序:acrobat按照站点下资源的html文件名顺序将整个站点导出。如果章节顺序不对,可以自行修改文件名。文件名不重要,顺序对就可以。
通过上述步骤,顺利导出了好几本在线电子书籍
2019-5-1更新:teleport 是收费软件,有免费使用的期限。最近找到一个可以下载整站的linux命令:
wget -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5)" -r -p -k -nc https://jkchao.github.io/typescript-book-chinese/
启动http-server时需要注意所在目录,否则有些文件明明下载好了,还报404。
Update:使用curl命令也可以下载整站。