10行代码教你快速批量把pdf转png图片
2022-04-11 本文已影响0人
沉迷工作的我
当你有pdf的矢量图需要转成png这样的位图时,你是怎么做的呢,用WPS开个会员把pdf转成png么?那如果有100张pdf图片需要转png呢......难道要点一百次。今天就教大家怎么用10行代码实现pdf快速转png,安排。
图片
图片
图片
直接上复制粘贴就能用的代码,不用感动,给个点赞+关注哈!
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)
好了,今天就给大家分享这么多,对了,你关注了么!