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

目录
打赏
0
0
0
0
24
分享
相关文章
Open NotebookLM,一键PDF/URL转播客!
本文带你来了解,结合不同的开源模型,例如Qwen2.5-72B-Instruct, CosyVoice-300M)等,将PDF文件(比如论文paper),或者网页URL内容,转换成为有趣的播客😊。
|
5月前
|
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
这篇文章介绍了如何在Spring Boot项目中整合iTextPDF库来导出PDF文件,包括写入大文本和HTML代码,并分析了几种常用的Java PDF导出工具。
1049 0
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
创建HTML文件
【10月更文挑战第14天】创建HTML文件
118 4
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
420 2
|
6月前
|
Java根据URL获取文件内容的实现方法
此示例展示了如何安全、有效地根据URL获取文件内容。它不仅展现了处理网络资源的基本技巧,还体现了良好的异常处理实践。在实际开发中,根据项目需求,你可能还需要添加额外的功能,如设置连接超时、处理HTTP响应码等。
546 4
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
559 0
Python中这样操作url也太爽了吧
Python中这样操作url也太爽了吧
173 5
|
7月前
写一个HTML文件
【8月更文挑战第27天】写一个HTML文件。
77 1
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
434 0
|
7月前
【Azure 应用服务】部署Azure Web App时,是否可以替换hostingstart.html文件呢?
【Azure 应用服务】部署Azure Web App时,是否可以替换hostingstart.html文件呢?

热门文章

最新文章