龙空技术网

揭秘Python如何将网站保存为PDF

python小白社区 259

前言:

目前大家对“python如何将”都比较关注,咱们都需要了解一些“python如何将”的相关内容。那么小编在网摘上搜集了一些有关“python如何将””的相关内容,希望看官们能喜欢,各位老铁们快快来了解一下吧!

很多公众号提供功能,可以将你需要的公众号内容变为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 pdfkitpdfkit.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 ','  ' ],' 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"获取。

标签: #python如何将