如何将网站保存为PDF
很多公众号提供功能,可以将你需要的公众号内容变为PDF,方便阅读和收藏,
用着挺方便,微信公众号的文章为PDF,网站内容导出为PDF,这些是怎么来的?
下面就进行揭秘,从安装到应用,都详细的告诉你,如果你能跟着一起动手学习,
相信以后你也能开发出适合属于自己的一款强大工具出来。现在隆重介绍,Python-PDFKit:转化HTML成PDF利器!
这个Python库基于wkhtmltopdf应用程序包,并提供了Python 2和3封装,兼容2种不同版本的Python。该库基于Webkit将HTML转换为PDF。
安装:
首先需要安装基础框架wkhtmltopdf:
- 安装wkhtmltopdf:
- 于Debian / Ubuntu:
$ sudo apt-get install wkhtmltopdf
- 苹果MAC系统:
$ brew install caskroom / cask / wkhtmltopdf
警告!debian / ubuntu repos中的版本减少了功能(因为它编译时没有使用wkhtmltopdf QT补丁),例如添加轮廓,页眉,页脚,TOC等。要使用此选项,应该从wkhtmltopdf站点下载安装静态二进制文件。
- Windows和其他选项:打开wkhtmltopdf 项目网站,下载安装二进制安装程序。
完毕,就可以安装python-pdfkit了。
- 安装python-pdfkit:
$ pip install pdfkit(或python3采用pip3 )
用法:
快速入门,把一个网页链接,一个静态网页等转成pdf。
import pdfkit pdfkit.from_url(' web link ',' out.pdf ') pdfkit.from_file(' test.html ',' out.pdf ') pdfkit.from_string(' Hello!',' out.pdf ')
来个更好玩的,如果要多个页面合成一个pdf,该咋办?给你5秒钟。
好了,答案如下:
pdfkit.from_url([ ' web1 ',' weburl2 ',' http://weburl3 ' ],' out.pdf ') pdfkit.from_file([ 'file1.html ',' file2.html ' ],' out.pdf ')
把一个网页转成PDF也可以这么用:
with open(' file.html ')as f: pdfkit.from_file(f,' out.pdf ')
这样,pdfkit就能完成基本的转pdf任务了。
如果,要把若干HTML页面转成一个pdf,并且定义封面和章节的链接,甚至文档样式css,怎么做呢?
toc = { ' xsl-style-sheet ':' toc.xsl ' } cover = ' cover.html ' pdfkit.from_file(' file.html ',options = options,toc = toc,cover = cover) pdfkit.from_file(' file.html ',options = options,toc = toc,cover = cover,cover_first = True)
常见错误及解法:
- IOError: 'No wkhtmltopdf executable found':
- 确保您的$ PATH中有wkhtmltopdf或通过自定义配置设置。Windows 中的wkhtmltopdf或Linux 上的wkhtmltopdf应返回二进制的实际路径。
- IOError: 'Command Failed'
- 此错误表示PDFKit无法处理输入。您可以尝试直接从错误消息运行命令,并查看导致失败的错误(在某些wkhtmltopdf版本上,这可能是由于分段错误导致的)
经过上面的介绍,相信聪明的你,已经掌握了从HTML转PDF的利器,pdfkit的使用方法。具体的pdfkit项目地址,请关注公众号python_dada后输入"pdfkit"获取。
赞 (0)