【python】网页批量转PDF

server/2025/2/23 1:19:02/

安装wkhtmltopdf 

网站:wkhtmltopdf

wkhtmltopdf http://www.baidu.com/ D:website1.pdf

安装pdfkit库

pip install pdfkit

批量转换代码

import os
import pdfkit
path_wkthmltopdf = r'E:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)def convert_html_to_pdf(input_folder, output_folder):# 确保输出文件夹存在if not os.path.exists(output_folder):os.makedirs(output_folder)# 遍历输入文件夹及其子文件夹中的所有文件for root, dirs, files in os.walk(input_folder):for file in files:if file.endswith(".htm"):html_file_path = os.path.join(root, file)pdf_file_path = os.path.join(output_folder, file.replace('.htm', '.pdf'))try:# 使用pdfkit将HTML文件转换为PDF文件pdfkit.from_file(html_file_path, pdf_file_path,configuration=config, options={'encoding': 'utf-8',"enable-local-file-access":True})print(f"成功转换: {html_file_path} -> {pdf_file_path}")except Exception as e:print(f"转换失败: {html_file_path} -> {pdf_file_path}, 错误信息: {e}")if __name__ == "__main__":input_folder = 'D:\'  # 输入文件夹路径,这里设置为当前目录output_folder = 'D:\pdf'  # 输出文件夹路径convert_html_to_pdf(input_folder, output_folder)

报错解决

Python OSError: wkhtmltopdf reported an error:Exit with code 1 due to network error:ProtocolUnknownE_exit with code 1 due to network error: protocolunk-CSDN博客

参考

pdfkit | 利用python实现html文件转pdf (zhihu.com)

Python OSError: wkhtmltopdf reported an error:Exit with code 1 due to network error:ProtocolUnknownE_exit with code 1 due to network error: protocolunk-CSDN博客


http://www.ppmy.cn/server/169992.html

相关文章

wps中的js开发

严格区分大小写 /*** learn_js Macro*/ function test() {Range(D7).Value2Selection.Value2; // Selection.formula "100" }function Workbook_SheetSelectionChange(Sh, Target) {if(Sh.Name Sheet1) {test();}}function test2() {// 把I4单元格及其周边有数的单…

跨中心模型自适应牙齿分割|文献速递-医学影像人工智能进展

Title 题目 Cross-center Model Adaptive Tooth segmentation 跨中心模型自适应牙齿分割 01 文献速递介绍 三维(3D)口腔内扫描牙齿模型的自动、准确分割是计算机辅助正畸治疗不可或缺的先决条件。具体而言,口腔内扫描(IOS&am…

JUC并发—9.并发安全集合三

大纲 1.并发安全的数组列表CopyOnWriteArrayList 2.并发安全的链表队列ConcurrentLinkedQueue 3.并发编程中的阻塞队列概述 4.JUC的各种阻塞队列介绍 5.LinkedBlockingQueue的具体实现原理 6.基于两个队列实现的集群同步机制 1.并发安全的数组列表CopyOnWriteArrayList …

HttpServlet详解

HttpServlet详解 一,什么是HttpServlet? 1.1 概念 HttpServlet是Java Servlet API 的一部分,它是一个抽象类,旨在简化基于HTTP协议的web应用程序开发,通过扩展HttpServlet类,开发者可以创建处理HTTP请求…

AR技术在电商行业的应用有哪些?

AR(增强现实)技术在电商行业的应用日益广泛,尤其在商品试用场景中,通过虚实结合的方式显著提升了用户体验与购买决策效率。 数据驱动的效果评估 转化率提升:使用AR试用的电商平台平均转化率提升25%-40%,用…

Selenium实战案例1:论文pdf自动下载

在上一篇文章中,我们介绍了Selenium的基础用法和一些常见技巧。今天,我们将通过中国科学:信息科学网站内当前目录论文下载这一实战案例来进一步展示Selenium的web自动化流程。 目录 中国科学:信息科学当期目录论文下载 1.网页内…

解决DeepSeek服务器繁忙问题的实用指南

目录 简述 1. 关于服务器繁忙 1.1 服务器负载与资源限制 1.2 会话管理与连接机制 1.3 客户端配置与网络问题 2. 关于DeepSeek服务的备用选项 2.1 纳米AI搜索 2.2 硅基流动 2.3 秘塔AI搜索 2.4 字节跳动火山引擎 2.5 百度云千帆 2.6 英伟达NIM 2.7 Groq 2.8 Firew…

嵌入式0xDEADBEEF

在嵌入式系统中,0xDEADBEEF 是一个常见的“魔数”(magic number),通常用于调试和内存管理。它的含义和用途如下: 1. 调试用途 未初始化内存的标记:在调试时,0xDEADBEEF 常用于标记未初始化或已…