安装pymupdf
pip install pymupdf
PDF转为图片
def pdf2pic(pdf_file):
doc = fitz.open(pdf_file)
pdf_name = os.path.splitext(pdf_file)[0]
for pg in range(doc.pageCount):
page = doc[pg]
rotate = int(0)
# 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。
zoom_x = 1.0
zoom_y = 1.0
trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
pm = page.getPixmap(matrix=trans, alpha=False)
pm.writePNG('img/%s.png' % page)
图片转PDF
def pic2pdf(source_folder):
doc = fitz.open()
try:
print(source_folder)
source_folder = source_folder + "*" if source_folder.endswith("\\") else source_folder + "\\*"
for img in sorted(glob.glob(source_folder),key=lambda x:int(str(x).split(" ")[1])): # 读取图片,确保按文件名排序
print(img)
imgdoc = fitz.open(img) # 打开图片
pdfbytes = imgdoc.convertToPDF() # 使用图片创建单页的 PDF
imgpdf = fitz.open("pdf", pdfbytes)
doc.insertPDF(imgpdf) # 将当前页插入文档
doc.save("target.pdf") # 保存pdf文件
except:
print("目录:[ %s ] 转换pdf异常" % source_folder)
finally:
doc.close()