[Python]将PPT中出现的图片素材批量导出&PPT全部导出生成图片 您所在的位置:网站首页 批量导出ppt中的图片 [Python]将PPT中出现的图片素材批量导出&PPT全部导出生成图片

[Python]将PPT中出现的图片素材批量导出&PPT全部导出生成图片

2022-03-24 05:39| 来源: 网络整理| 查看: 265

最近在研究一些日常工作或者生活中比较实用的东西,这次的功能是:批量导出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..

2. 保存方式选择jpg or png

3. 选择所有幻灯片

然后桌面就会生成一个包含所有幻灯片图片格式的文件夹



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有