python包pdfkit(wkhtmltopdf) 将HTML转换为PDF的操作方法

作者:西京刀客 时间:2022-11-14 18:37:28 

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

来源:https://blog.csdn.net/inthat/article/details/124296992

标签:python,pdfkit,HTML转换,PDF
0
投稿

猜你喜欢

  • 标准的、语义的、Unobtrusive的页签tab切换

    2007-11-03 13:58:00
  • Scrapy元素选择器Xpath用法汇总

    2021-09-11 11:42:58
  • 有关Python的22个编程技巧

    2021-04-05 22:58:05
  • asp如何使用SMTP Service发送邮件?

    2010-06-05 12:43:00
  • js中的内部属性与delete操作符介绍

    2024-04-10 16:15:12
  • 怎样在SQL Server中去除表中不可见字符

    2009-02-05 15:23:00
  • 对pytorch中不定长序列补齐的操作

    2022-03-24 17:33:04
  • Anaconda出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url的解决过程

    2021-05-12 11:30:27
  • 微信JSSDK调用微信扫一扫功能的方法

    2024-04-29 13:46:02
  • php中对象引用和复制实例分析

    2023-10-20 23:05:02
  • 如何把URL和邮件地址自动转换为超级链接?

    2009-11-02 20:22:00
  • 一篇文章看懂SQL中的开窗函数

    2024-01-16 07:22:05
  • js实现无需数据库的县级以上联动行政区域下拉控件

    2024-01-17 01:05:53
  • JavaScript实现的伸展收缩型菜单代码

    2024-04-16 09:22:33
  • 在python下读取并展示raw格式的图片实例

    2022-07-02 18:47:56
  • python中使用enumerate函数遍历元素实例

    2021-05-08 04:56:41
  • python安装pil库方法及代码

    2021-10-22 16:55:24
  • Django通用类视图实现忘记密码重置密码功能示例

    2022-12-04 13:06:06
  • VSCode下配置python调试运行环境的方法

    2023-03-27 10:15:40
  • Python探索之pLSA实现代码

    2022-01-03 11:30:28
  • asp之家 网络编程 m.aspxhome.com