Python批量将PDF转为图片文件

Python 批量将 PDF 转为图片文件
该功能是基于 Python 语言实现的自动化批量格式转换工具,可一次性处理指定文件夹内的所有 PDF 文件(支持多页 PDF、加密 PDF(需解密)、不同版式 PDF),将 PDF 的每一页独立转换为通用图片格式,并按规则规整输出,无需手动单文件、单页转换,大幅提升办公与处理效率。
核心特性
批量高效处理:自动扫描目标文件夹(支持子文件夹递归查找),批量识别所有 PDF 文件并完成转换,无需人工逐个操作,节省大量时间成本。
多格式与多页支持:
输出图片格式灵活:支持 JPG/JPEG、PNG、BMP 等常用图片格式,可按需配置;
多页 PDF 自动拆分:将 PDF 的每一页单独转换为一张图片,并按 “PDF 文件名 – 页码” 的规则命名(如report-001.jpg),方便后续查找与整理。
高兼容性与可配置:支持常规版式、高清、大容量 PDF 文件转换,可自定义输出图片的分辨率、质量、保存路径,适配不同场景需求(如办公归档、图文编辑、线上展示等)。
操作简洁易上手:基于成熟 Python 第三方库封装,代码逻辑清晰,部署简单,可直接运行脚本或按需微调参数,无需复杂的专业技术背景。

# -*- coding: utf-8 -*-

”’
Python批量将PDF转为图片文件
”’

# 安装所需模块
# pip install fitz -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip install PyMuPDF==1.19.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 导入包
import os
import sys
import fitz

# 定义方法
def pyMuPDF_fitz(pdfPath, imagePath):
”’转换主函数”’
pdfDoc = fitz.open(pdfPath)
for pg in range(pdfDoc.pageCount):
page = pdfDoc[pg]
rotate = int(0)
# 每个尺寸的缩放系数为1.3,这将为我们生成分辨率提高2.6的图像。
# 此处若是不做设置,默认图片大小为:792X612, dpi=96
zoom_x = 1.33333333
zoom_y = 1.33333333
mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
pix = page.getPixmap(matrix=mat, alpha=False)

if not os.path.exists(imagePath):#判断存放图片的文件夹是否存在
os.makedirs(imagePath) # 若图片文件夹不存在就创建

pix.writePNG(imagePath+’/’+’images_%s.png’ % pg)#将图片写入指定的文件夹内
print(‘转换成功: ‘ + imagePath)

if __name__ == ‘__main__’:

# PDF文件的存放目录
pdfpath = r’D:\Test\pdf’

# 转成图片后的保存目录
imgpath = r’D:\Test\image’

# 遍历所有PDF文件并转换
files = os.listdir(pdfpath)
pptfiles = [f for f in files if f.endswith((“.pdf”))]
for pptfile in pptfiles:
pdffilepath = os.path.join(pdfpath, pptfile)
namear = os.path.split(pdffilepath)
minimgpath = namear[1].replace(“.pdf”,””)
minimgpath = os.path.join(imgpath, minimgpath)
# 执行转换方法
pyMuPDF_fitz(pdffilepath, minimgpath)

原创文章,作者:管理员,如若转载,请注明出处:https://www.devcn.cn/47.html

(0)
管理员管理员
上一篇 2天前
下一篇 2天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注