python包pdfkit(wkhtmltopdf) 将HTML转换为PDF的操作方法
python包-pdfkit 将HTML转换为PDF
什么是pdfkit
pdfkit,把HTML+CSS格式的文件转换成PDF格式文档的一种工具。它就是html转成pdf工具包wkhtmltopdf的Python封装。所以,必须手动安装wkhtmltopdf。
安装
首先需要安装 pdfkit 库,使用 pip install pdfkit 命令就好了。
还需要安装 wkhtmltopdf 工具,本质就是利用这个工具来进行转换,pdfkit 库就是作为接口来调用该工具。
python版本 3.x,在命令行输入:
$sudo apt-get install wkhtmltopdf
工具下载地址:
wkhtmltopdf 官网:https://wkhtmltopdf.org/downloads.html
Ubuntu系统可以直接使用以下命令安装:
$sudo yum intsall wkhtmltopdf
CentOS系统可以直接使用以下命令安装:
$sudo yum intsall wkhtmltopdf
使用
将url生成pdf文件
不指定wkhtmltopdf,会从系统的默认执行路径下找 wkhtmltopdf
import pdfkit '''将url生成pdf文件''' def url_to_pdf(url, to_file): pdfkit.from_url(url, to_file,verbose=True) url_to_pdf('http://www.baidu.com','out_3.pdf')
指定 wkhtmltopdf 的位置:
import pdfkit '''将url生成pdf文件''' def url_to_pdf(url, to_file): config = pdfkit.configuration(wkhtmltopdf='/usr/local/bin/wkhtmltopdf') pdfkit.from_url(url, to_file,configuration=config,verbose=True) url_to_pdf('http://www.baidu.com','out_3.pdf')
字符串生成pdf【pdfkit.from_string()函数】
# 导入库 import pdfkit '''将字符串生成pdf文件''' def str_to_pdf(string, to_file): # 将wkhtmltopdf.exe程序绝对路径传入config对象 path_wkthmltopdf = r'C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe' config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf) # 生成pdf文件,to_file为文件路径 pdfkit.from_string(string, to_file, configuration=config) print('完成') str_to_pdf('This is test!','out_3.pdf')
报错
报错OSError: No wkhtmltopdf executable found
在使用pdfkit.from_string或者pdfkit.from_file或者pdfkit.from_url将字符串、文件或者网页内容转化为pdf时,报错:
OSError: No wkhtmltopdf executable found
原因很明显,就是没找到可执行的wkhtmltopdf文件,也就是未找到wkhtmltopdf.exe文件。
python的pdfkit扩展包使用时需要基于wkhtmltopdf.exe这个可执行文件才可运行,因此需要先安装wkhtmltopdf。
对于windows系统,可以在(https://wkhtmltopdf.org/downloads.html)下载安装,然后将该程序的执行文件路径添加到环境变量中(这样即可直接用pdfkit扩展包,否则需要在使用pdfkit时,指明该程序的路径)
Ubuntu系统可以直接使用以下命令安装:
$sudo apt-get install wkhtmltopdf
CentOS系统可以直接使用以下命令安装:
$sudo yum intsall wkhtmltopdf
到此这篇关于python包pdfkit(wkhtmltopdf) 将HTML转换为PDF的文章就介绍到这了,更多相关python pdfkit将HTML转换为PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Django 多表关联 存储 使用方法详解 ManyToManyField save
今天小编就为大家分享一篇Django 多表关联 存储 使用方法详解 ManyToManyField save,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-08-08使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
这篇文章主要介绍了使用python tkinter开发一个爬取B站直播弹幕的工具,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-02-02Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
这篇文章主要介绍了Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能,需要的朋友可以参考下2018-11-11
最新评论