使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法


Posted in Python onApril 21, 2022

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的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python33 urllib2使用方法细节讲解
Dec 03 Python
详解Python中的Cookie模块使用
Jul 06 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
Windows 7下Python Web环境搭建图文教程
Mar 20 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
基于Python中求和函数sum的用法详解
Jun 28 Python
python hook监听事件详解
Oct 25 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
Python通用循环的构造方法实例分析
Dec 19 Python
python 实现查找文件并输出满足某一条件的数据项方法
Jun 12 Python
在django中自定义字段Field详解
Dec 03 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
Mar 06 Python
Python尝试实现蒙特卡罗模拟期权定价
Python matplotlib绘制条形统计图 处理多个实验多组观测值
python绘制简单直方图(质量分布图)的方法
Python绘制散乱的点构成的图的方法
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
Python探索生命起源 matplotlib细胞自动机动画演示
Apr 21 #Python
使用python绘制横竖条形图
You might like
Php注入点构造代码
2008/06/14 PHP
PHP随机数生成代码与使用实例分析
2011/04/08 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
[01:25:38]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第一场 1月19日
2021/03/11 DOTA
Python中__call__用法实例
2014/08/29 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Python实现快速计算词频功能示例
2018/06/25 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
使用python模拟命令行终端的示例
2019/08/13 Python
python属于跨平台语言码
2020/06/09 Python
python开发入门——set的使用
2020/09/03 Python
物理系毕业生自荐信
2013/11/01 职场文书
总经理秘书工作职责
2013/12/26 职场文书
幼儿园义卖活动方案
2014/01/17 职场文书
办公室人员先进事迹
2014/01/27 职场文书
爱情保证书范文
2014/02/01 职场文书
护理不良事件检讨书
2014/02/06 职场文书
大学生学年自我鉴定
2014/02/10 职场文书
求职信怎么写范文
2014/05/26 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
个人党性分析材料
2014/12/19 职场文书
Tomcat用户管理的优化配置详解
2022/03/31 Servers