Python快速将HTML转PDF,妈妈再也不会担心我不会转PDF了

Posted 小_源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python快速将HTML转PDF,妈妈再也不会担心我不会转PDF了相关的知识,希望对你有一定的参考价值。

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 极客导航 即可关注。

概况

在日常工作生活中,有时候需求是将html转成PDF,网上一些工具也有很多,不过一般都是在线转换或者一次只能转一张,甚至一些工具需要充值…

今天我们python写一个HTML转成PDF程序,对于一些会Python的小伙伴来说,自己写的程序,自由度比较高。

准备工作

我们今天用到的库是:pdfkit
安装:pdfkit

pip install pdfkit

在自己的操作系统上安装:wkhtmltopdf

Ubuntu

sudo apt-get install wkhtmltopdf

Mac

brew install Caskroom/cask/wkhtmltopdf

CentOS

sudo yum intsall wkhtmltopdf

windows

下载地址:https://wkhtmltopdf.org/downloads.html
并配置系统环境变量

###开始转换

import pdfkit

pdfkit.from_url('https://www.jianshu.com','out.pdf')    

看似效果还不错,并且还支持很多

本地的Html文件

import pdfkit

pdfkit.from_file('jianshu.htm','out.pdf')   

字符串

import pdfkit
 
pdfkit.from_string('HelloWorld','out.pdf')

打开文件

import pdfkit

with open('jianshu.htm','r') as f:
	pdfkit.from_file(f,'out.pdf')   

多个HTML同时转换

import pdfkit

pdfkit.from_url(['https://www.jianshu.com/','https://www.baidu.com/'],'out.pdf')

#pdfkit.from_file(['jianshu.htm','jianshu1.htm'],'out.pdf')  

自定义参数

如果上面还满足不了你的需求,一些参数可以自定义:

import pdfkit
options=
   'page-size':'A4',#Letter
    'margin-top':'0.75in',
    'margin-right':'0.75in',
    'margin-bottom':'0.75in',
    'margin-left':'0.75in',
    'encoding':"UTF-8",
    'no-outline':None
    
pdfkit.from_url('https://www.jianshu.com/','out1.pdf', options=options)

这个工具很强大,里面有很多参数和方法,不过一般需求基本已经能搞定。如果还有深度需求大家可以参考下面的文档:

pdfkit文档:https://pypi.org/project/pdfkit/
wkhtmltopdf参数:http://www.kongzhizhen.com/%E7%94%9F%E6%B4%BB/282/

下面的是我的公众号二维码图片,欢迎关注。

以上是关于Python快速将HTML转PDF,妈妈再也不会担心我不会转PDF了的主要内容,如果未能解决你的问题,请参考以下文章

Python网络请求库Requests,妈妈再也不会担心我的网络请求了

Python使用UUID库生成唯一ID,妈妈再也不会担心我的生成重复ID了

Python函数,妈妈再也不会担心我不会Python了

Python最佳学习路线,妈妈再也不会担心我不会学习了

Python环境变量配置,妈妈再也不担心我不会配置环境了

mysql原理pdf,妈妈再也不用担心我找工作了!