1. 概述
经常有这样的应用场景,扫描的文件需要转换为图片上传,但是市面上的工具要么收费,要么加水印,有点不爽,那就自己用Python写个小工具把。
2. 安装方法
新建 requirements.txt文件,内容如下:
# pip install -r requirements.txt
traits==6.3.2
fitz==0.0.1.dev2
PyMuPDF==1.21.1
安装命令
pip install -r requirements.txt
3. 脚本
import fitz
'''
# 将PDF转化为图片
pdfPath pdf文件的路径
imgPath 图像要保存的文件夹
zoom_x x方向的缩放系数
zoom_y y方向的缩放系数
rotation_angle 旋转角度
'''
def pdf_image(pdfPath,imgPath,zoom_x,zoom_y,rotation_angle):
# 打开PDF文件
pdf = fitz.open(pdfPath)
# 逐页读取PDF
for pg in range(0, pdf.page_count):
page = pdf[pg]
# 设置缩放和旋转系数
trans = fitz.Matrix(zoom_x, zoom_y).prerotate(rotation_angle)
pm = page.get_pixmap(matrix=trans, alpha=False)
# 开始写图像
pm.save(imgPath+str(pg)+".png")
pdf.close()
pdf_image(r"input.pdf",r"output/img_",10,10,0)