# -*- coding: utf-8 -*- ''' Python批量将PDF转为图片文件 ''' # 导入包 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)