Python如何快速提取PowerPoint文档中的图片
如果你需要在多个PowerPoint演示文稿中使用相同的图片,直接从原始PPT中提取并保存图片可以避免重复寻找和下载。此外,将PPT中的重要图片提取出来可以将其作为备份,以防原文件损坏或丢失。本文将通过以下两个示例介绍如何使用Python提取PPT文档中的图片。
所需Python库:Spire.Presentation for Python。该库支持多种PPT/PPTX文档处理操作,如创建、编辑、转换、保存等。可以直接通过以下pip命令安装它:
pip install Spire.Presentation
Python 提取指定幻灯片中的图片
要提取指定幻灯片中的图片,需要遍历幻灯片中所有形状并逐一判断其是否为 SlidePicture 或 PictureShape 类型,如果是的话再通过对应方法提取并保存。步骤如下:
- 通过LoadFromFile()方法加载PPT文档
- 通过Presentation.Slides[index]属性获取指定幻灯片
- 遍历幻灯片中所有形状
- 判断形状是否为SlidePicture类型,如果是,则通过 SlidePicture.PictureFill.Picture.EmbedImage.Image.Save() 方法提取图片并保存
- 判断形状是否为PictureShape类型,如果是,则通过 PictureShape.EmbedImage.Image.Save() 方法提取图片并保存。
代码:
from spire.presentation.common import * from spire.presentation import * # 加载PPT文档 ppt = Presentation() ppt.LoadFromFile("工作汇报.pptx") # 获取第一张幻灯片 slide = ppt.Slides[0] i = 0 # 遍历幻灯片中所有形状 for s in slide.Shapes: # 判断形状是否为SlidePicture类型 if isinstance(s, SlidePicture): # 提取该类型图片 ps = s if isinstance(s, SlidePicture) else None ps.PictureFill.Picture.EmbedImage.Image.Save("幻灯片图片/幻灯片图_"+str(i)+".png") i += 1 # 判断形状是否为PictureShape类型 if isinstance(s, PictureShape): # 提取该类型图片 ps = s if isinstance(s, PictureShape) else None ps.EmbedImage.Image.Save("幻灯片图片/幻灯片图_"+str(i)+".png") i += 1 ppt.Dispose()
Python 提取PPT文档中的所有图片
一次性将PPT文档中的所有图片提取出来的操作相对比较简单,参考以下步骤:
- 通过LoadFromFile()方法加载PPT文档
- 通过Presentation.Images属性获取PPT文档中所有图片的集合
- 遍历图片集合,然后使用 IImageData.Image.Save() 方法将每一张图片保存到指定文件路径。
代码:
from spire.presentation.common import * from spire.presentation import * # 加载PPT文档 ppt = Presentation() ppt.LoadFromFile("工作汇报.pptx") # 遍历文档中所有图片 for i, image in enumerate(ppt.Images): # 提取图片并保存 ImageName = "提取图片/图_"+str(i)+".png" image.Image.Save(ImageName) ppt.Dispose()
通过以上示例,可以实现通过编程自动提取PPT中的图片,以便能更好地管理和利用这些视觉资源。
到此这篇关于Python如何快速提取PowerPoint文档中的图片的文章就介绍到这了,更多相关Python提取PPT图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python plt 利用subplot 实现在一张画布同时画多张图
这篇文章主要介绍了Python plt 利用subplot 实现在一张画布同时画多张图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-02-02Python BeautifulSoup中文乱码问题的2种解决方法
这篇文章主要介绍了Python BeautifulSoup中文乱码问题的2种解决方法,需要的朋友可以参考下2014-04-04Python scipy的二维图像卷积运算与图像模糊处理操作示例
这篇文章主要介绍了Python scipy的二维图像卷积运算与图像模糊处理操作,涉及Python数学运算与图形绘制相关操作技巧,需要的朋友可以参考下2019-09-09为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jinja2是人气Web框架Flask中的内置模板引擎,而且与Django的模板引擎比较类似,这里我们就来看一下为Python的Tornado框架配置使用Jinja2模板引擎的方法2016-06-06
最新评论