直接上复制粘贴就能用的代码,不用感动,给个点赞+关注哈!
import fitz # pip install pymupdf -i https://pypi.tuna.tsinghua.edu.cn/simple/
import os
def pdf2img(pdf_path, zoom_x, zoom_y):
"""
参数说明
:param pdf_path: pdf文件的路径
:param zoom_x: x轴方向的缩放系数
:param zoom_y: y轴方向的缩放系数
"""
doc = fitz.open(pdf_path) # 打开pdf文件
for page in doc: # 逐页循环
pic = page.get_pixmap(matrix=fitz.Matrix(zoom_x, zoom_y)) # 将页面渲染为图片
dir_save = os.path.dirname(pdf_path) # 结果保存的路径与pdf文件所在的路径同级
pdf_name = os.path.basename(pdf_path).split('.pdf')[0]
pic.save(f'{dir_save}/{pdf_name}-page-{page.number+1}.png') # 逐页将pdf存储为PNG格式
doc.close() # 关闭读取pdf文件
pdf2img(
r"E:\python_projects\python_test\2_pdf2png\test.pdf",
zoom_x=3,
zoom_y=3
)
是不是短短几行代码就可以实现你的"一个小目标",上面考虑的是你的pdf中有多页的情况,如果你的一个pdf只有一页,有多个pdf要转png图片,那直接在最外层加个循环就可以了。
import glob
for pdf in glob.glob('./xxx/*pdf'):
pdf2img(pdf, zoom_x=3, zoom_y=3)
好了,今天就给大家分享这么多,对了,你关注了么!