工作中可能有这样的需求,需要批量把PDF文件文件转换成图片。使用下面的py文件,可以批量进行转换。查找当前py文件夹内的所有的pdf文件,执行pdf转png格式,新生成的png文件保留源文件的文件名.如果PDF有多页,图片名后加序号。
代码:
# -*- coding: utf-8 -*-
"""
1、安装库 pip install pymupdf
2、直接运行
"""
import os
import fitz
pdf_dir=[]
def get_file():
docunames = os.listdir()
for docuname in docunames:
if os.path.splitext(docuname)[1] == '.pdf':#目录下包含.pdf的文件
pdf_dir.append(docuname)
def conver_img():
for pdf in pdf_dir:
doc = fitz.open(pdf)
pdf_name = os.path.splitext(pdf)[0]
for pg in range(doc.pageCount):
page = doc[pg]
rotate = int(0)
# 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。
zoom_x = 2.0
zoom_y = 2.0
trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
pm = page.getPixmap(matrix=trans, alpha=False)
pm.writePNG('%s.png' % pdf_name)
if __name__ == '__main__':
get_file()
conver_img()
使用方法:
1,安装Python,然后打开cmd,运行pip install pymupdf 。
2,在PDF文件夹里,新建一个pdf2png.py文件,然后复制上面的代码,保存。
3,然后打开cmd,运行这个文件。比如在cmd中输入 python "D:\data\pdf2png.py" 他会自动找当前py文件所在的文件夹里的pdf文件,然后把他们转成png文件。
注:如需安装fitz请查看下面内容