You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用wkhtmltopdf批量转HTML为PDF:需修改代码的哪部分?

如何修改代码实现批量转换文件夹中的HTML文件为PDF?

我之前写了一段Python代码可以单个HTML转PDF,代码如下:

import pdfkit

#Define path to wkhtmltopdf.exe
path_to_wkhtmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkthmltopdf.exe'

#Define path to HTML file
path_to_file = 'sample.html'

#Point pdfkit configuration to wkhtml.exe
config = pdfkit.configuration(wkhtmltopdf = path_to_wkhtmltopdf)

#Convert HTML file to PDF
pdfkit.from_file(path_to_file, output_path = 'sample.pdf', configuration = config)

现在我有一个包含大量HTML文件的文件夹,逐个转换太麻烦,请问要修改哪部分才能实现批量转换?


需要调整的核心部分

  1. 引入os模块:用于遍历目标文件夹内的所有HTML文件
  2. 替换单个文件路径为文件夹路径:指定存放HTML文件的文件夹位置
  3. 添加循环遍历逻辑:逐个处理文件夹中的.html文件,生成对应PDF

另外注意你原代码里的拼写错误:wkthmltopdf.exe应该是wkhtmltopdf.exe,不修正会导致找不到执行程序。

修改后的完整代码

import pdfkit
import os

# 定义wkhtmltopdf的路径(修正拼写错误)
path_to_wkhtmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
# 定义存放HTML文件的文件夹路径,请替换为你的实际路径
html_folder = r'C:\你的HTML文件夹路径'

# 配置pdfkit
config = pdfkit.configuration(wkhtmltopdf=path_to_wkhtmltopdf)

# 遍历文件夹中的所有文件
for filename in os.listdir(html_folder):
    # 仅处理.html后缀的文件
    if filename.endswith('.html'):
        # 拼接完整的HTML文件路径
        html_file_path = os.path.join(html_folder, filename)
        # 生成对应PDF文件名(替换后缀为.pdf)
        pdf_filename = os.path.splitext(filename)[0] + '.pdf'
        # PDF可与HTML存同一文件夹,也可自定义其他输出路径
        pdf_file_path = os.path.join(html_folder, pdf_filename)
        
        # 执行转换,添加异常处理避免单个文件失败中断程序
        try:
            pdfkit.from_file(html_file_path, output_path=pdf_file_path, configuration=config)
            print(f"转换完成:{filename} -> {pdf_filename}")
        except Exception as e:
            print(f"转换{filename}失败:{str(e)}")

关键细节说明

  • os.listdir(html_folder):获取文件夹下所有文件和子文件夹名称
  • filename.endswith('.html'):过滤出仅HTML文件,避免处理无关文件
  • os.path.splitext(filename)[0] + '.pdf':保证PDF文件与原HTML文件同名,方便对应查找
  • try-except块:单个文件转换失败时,程序会继续处理其他文件,同时输出错误信息便于排查

内容的提问来源于stack exchange,提问作者YL73

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:50:13