首先安装对应的库:
pip install fitz
pip install PyMuPDF
代码如下:
import sys, fitz
import os
# 忽略警告
import warnings
warnings.filterwarnings("ignore")
def pdf2image(pdfPath, imgPath, zoom_x, zoom_y, rotation_angle):
# zoom_x: x方向的缩放系数 zoom_x和zoom_y一般取相同值,值越大,图像分辨率越高
# zoom_y: y方向的缩放系数
# rotation_angle: 旋转角度
pdf = fitz.open(pdfPath) # 打开PDF文件
countnum= 0
for pg in range(pdf.pageCount): # 逐页读取PDF
page = pdf[pg]
trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotation_angle) # 设置缩放和旋转系数
pm = page.getPixmap(matrix=trans, alpha=False)
pm.writePNG(pdfPath[:pdfPath.rfind('.pdf')] + ".png")
print(pdfPath[:pdfPath.rfind('.pdf')] + ".png")
countnum=countnum+1
pdf.close()
print(f"已结束,共{str(countnum)}个文件")
if __name__ == "__main__":
Path = input('请输入存有Pdf的文件夹:').replace('/', '//') # 存放PDF的原文件夹
imgs = os.listdir(Path)
imgs.sort()
imgs_list = [os.path.join(Path, i) for i in imgs if i[-4:] == '.pdf']
for img in imgs_list:
pdf2image(img, Path, 2, 2, 0)
print("-"*50)