如何修改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
相关产品推荐
相关产品推荐

