[Python]将PPT中出现的图片素材批量导出&PPT全部导出生成图片 | 您所在的位置:网站首页 › 批量导出ppt中的图片 › [Python]将PPT中出现的图片素材批量导出&PPT全部导出生成图片 |
最近在研究一些日常工作或者生活中比较实用的东西,这次的功能是:批量导出ppt中所有的图片素材。 用到的库是:python-pptx pip install python-pptx代码参考:Python 将 PPT 中的图片素材批量导出 稍微做了优化和修正一个错误,已经测试过可以直接用,需要准备一个带有图片素材的ppt或者pptx格式的文档 放到同一目录下即可。 代码实现: #!/usr/bin/python # -*- coding: utf-8 from pptx import Presentation import os import sys ''' 功能: 将pptx中出现的图片素材全部导出 ''' ppt_root = jpg_root =sys.path[0] i = 0 def ppt2png(pptFileName): # 实例化ppt对象 prs = Presentation(pptFileName) #PPT文件路径 # 遍历 for slide in prs.slides: for obj in slide.shapes: # try/except 因为非图片元素没有Image方法会弹出异常. try: global i # 获取二进制字符流 imdata = obj.image.blob # 判断文件后缀类型 imagetype = obj.image.content_type typekey = imagetype.find('/') + 1 i +=1 imtype = imagetype[typekey:] # 创建image文件夹保存抽出图片 path = jpg_root +"/image/" if not os.path.exists(path): os.makedirs(path) # 图片生成 obj.name = "Picture"+ str(i) image_file = path + obj.name + "." + imtype file_str=open(image_file,'wb') file_str.write(imdata) file_str.close() except: pass for fn in (fns for fns in os.listdir(ppt_root) if fns.endswith(('.ppt', 'pptx'))): ppt2png(fn)将PPT每页内容导出生成图片 一样有代码可以实现,不过ppt 本身就有这个功能,所以就不记录python 相关实现了,因为懒。 hhh~~ 1. 打开ppt后,选择保存Save As..然后桌面就会生成一个包含所有幻灯片图片格式的文件夹 |
CopyRight 2018-2019 实验室设备网 版权所有 |