python html(文件/url/html字符串)转pdf

简介: python html(文件/url/html字符串)转pdf

安装库

pip install pdfkit

第二步

下载程序wkhtmltopdf

https://wkhtmltopdf.org/downloads.html

下载7z压缩包 解压即可, 无需安装

解压后结构应该是这样, 我喜欢放在项目里, 相对路径引用(也可以使用绝对路径, 放其他地方)


import pdfkit

# 将 wkhtmltopdf.exe程序 路径
path_wkthmltopdf = './wkhtmltox/bin/wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)


def url_to_pdf(url, to_file):
    # 生成pdf文件,to_file为文件路径
    pdfkit.from_url(url, to_file, configuration=config, options={'encoding': 'utf-8'})
    print('完成')


# 这里传入我知乎专栏文章url,转换为pdf
# url_to_pdf(r'https://m.zhijiao.cn/newsmini/detail/102201', './招生简章/102201.pdf')

# html文件转pdf
def file_to_pdf(path, to_file):
    # 生成pdf文件,to_file为文件路径
    pdfkit.from_file(path, to_file, configuration=config, options={'encoding': 'utf-8'})
    print('完成')


# file_to_pdf('./123.html', './xxx/123.pdf')
pdf_err_counts = 0
# html字符串转pdf
def string_to_pdf(string, to_file):
    global pdf_err_counts
    # 生成pdf文件,to_file为文件路径
    try:
        pdfkit.from_string(string, to_file, configuration=config, options={'encoding': 'utf-8'})
    except Exception as e:
        pdf_err_counts += 1
        print('生成pdf失败', pdf_err_counts, e)

最好每个都像string_to_pdf函数一样, 捕获一下错误, 可以使程序更健壮, 避免转换失败导致程序停止(其他没写因为我没用, 懒得写)


参考: https://www.zhihu.com/tardis/zm/art/94608155?source_id=1005

相关文章
|
5天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
【5月更文挑战第10天】BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
23 1
|
3天前
|
Python
【Python3 查询手册学习】,完整版PDF开放下载_python速查手册·模块卷(全彩版) pdf(1)
【Python3 查询手册学习】,完整版PDF开放下载_python速查手册·模块卷(全彩版) pdf(1)
|
5天前
|
数据采集 网络协议
WWW(URL,HTTP,HTML)
WWW(URL,HTTP,HTML)
7 1
|
5天前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
13 0
|
5天前
|
数据采集 数据挖掘 Python
Python之html2text: 将HTML转换为Markdown 文档示例详解
Python之html2text: 将HTML转换为Markdown 文档示例详解
10 0
|
5天前
uView queryParams 对象转URL参数
uView queryParams 对象转URL参数
17 0
|
5天前
|
JavaScript
vue截取URL中的参数
vue截取URL中的参数
21 0
|
5天前
|
前端开发
[牛客网-前端大挑战QD2] 获取url参数
[牛客网-前端大挑战QD2] 获取url参数
22 0
|
5天前
BurpSuite8.2 -- 查找包含id参数的URL
BurpSuite8.2 -- 查找包含id参数的URL
22 1
|
5天前
|
分布式计算 DataWorks 关系型数据库
DataWorks数据源问题之参数“连接Url”如何解决
DataWorks数据源是指DataWorks中配置的用于数据集成的外部数据源;本合集将讲解如何在DataWorks中配置和管理数据源,以及处理数据源连接和集成过程中的问题。
34 5