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

如何修改Python代码实现批量将单页PDF转换为TIF或PNG格式

调整后可实现批量转换的代码

from pdf2image import convert_from_path
import os

# -------------------------- 可自行修改的配置项 --------------------------
pdf_folder = r"U:\DEV\Folder1\PDFs"  # 存放所有待转换单页PDF的文件夹路径
output_dir = "imag/TIF_Files/"  # 输出图片的存储文件夹路径
prefer_format = "TIF"  # 优先格式,可填"TIF"或"PNG"
dpi = 200  # 输出图片的分辨率,数值越大越清晰、文件也越大
# ------------------------------------------------------------------------

def batch_convert(pdf_folder, output_dir, prefer_format, dpi):
    # 先创建输出文件夹如果不存在
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    
    # 遍历目标文件夹下所有PDF文件
    for filename in os.listdir(pdf_folder):
        # 只处理后缀为.pdf的文件,忽略其他文件
        if filename.lower().endswith(".pdf"):
            pdf_full_path = os.path.join(pdf_folder, filename)
            # 转换PDF,因为是单页,直接取第一个元素即可
            pages = convert_from_path(pdf_full_path, dpi=dpi)
            # 取原PDF的文件名(去掉后缀)作为输出图片的文件名
            base_filename = os.path.splitext(filename)[0]
            output_full_path = os.path.join(output_dir, f"{base_filename}.{prefer_format.lower()}")
            # 保存图片
            pages[0].save(output_full_path, prefer_format)
            print(f"已转换完成:{output_full_path}")

if __name__ == "__main__":
    batch_convert(pdf_folder, output_dir, prefer_format, dpi)
    print("所有PDF转换完成")

核心调整说明

  • 新增了批量遍历逻辑:自动扫描指定文件夹下所有.pdf后缀的文件,不需要手动逐个指定文件路径
  • 移除了原有的页码计数逻辑:确认是单页PDF,直接取转换结果的第一页保存即可
  • 新增文件名匹配逻辑:自动提取原PDF的文件名作为输出图片的文件名,符合命名要求
  • 增加了统一配置区:把路径、格式、分辨率等可调整参数都放到了代码顶部,不需要修改逻辑部分即可适配不同场景

注意:如果运行时提示TIF格式不支持,直接把配置区的prefer_format改成PNG即可,其他配置不用修改。你之前能正常运行单文件转换的环境可以直接跑这个代码,不需要额外装依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:27:04