首页 > 编程语言 >Python 提取PowerPoint文档中的图片

Python 提取PowerPoint文档中的图片

时间:2024-11-11 17:07:57浏览次数:3  
标签:提取 Python 文档 PPT PowerPoint 幻灯片 图片

如果你需要在多个PowerPoint演示文稿中使用相同的图片,直接从原始PPT中提取并保存图片可以避免重复寻找和下载。此外,将PPT中的重要图片提取出来可以将其作为备份,以防原文件损坏或丢失。本文将通过以下两个示例介绍如何使用Python提取PPT文档中的图片。

  • Python 提取指定幻灯片中的图片
  • Python 提取PPT文档中的所有图片

 

所需Python库Spire.Presentation for Python。该库支持多种PPT/PPTX文档处理操作,如创建、编辑、转换、保存等。可以直接通过以下pip命令安装它:

pip install Spire.Presentation

 

Python 提取指定幻灯片中的图片

要提取指定幻灯片中的图片,需要遍历幻灯片中所有形状并逐一判断其是否为 SlidePicturePictureShape 类型,如果是的话再通过对应方法提取并保存。步骤如下:

  1. 通过 LoadFromFile() 方法加载PPT文档
  2. 通过 Presentation.Slides[index] 属性获取指定幻灯片
  3. 遍历幻灯片中所有形状
  4. 判断形状是否为 SlidePicture 类型,如果是,则通过 SlidePicture.PictureFill.Picture.EmbedImage.Image.Save() 方法提取图片并保存
  5. 判断形状是否为 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文档中的所有图片提取出来的操作相对比较简单,参考以下步骤:

  1. 通过 LoadFromFile() 方法加载PPT文档
  2. 通过 Presentation.Images 属性获取PPT文档中所有图片的集合
  3. 遍历图片集合,然后使用 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操作PPT文档的示例:Spire.Presentation for Python 中文教程

标签:提取,Python,文档,PPT,PowerPoint,幻灯片,图片
From: https://www.cnblogs.com/Yesi/p/18540124

相关文章

  • 使用python对图片resize
    使用python对图片resizefromPILimportImagedefresize_image(input_path,output_path,target_size):#打开图像withImage.open(input_path)asimg:#获取原始宽度和高度original_width,original_height=img.size#计......
  • Ubuntu安装指定的python版本,不推荐直接装系统里
    Ubuntu安装指定的python版本,不推荐直接装系统里。因为依赖该版本的软件会打不开或崩掉(如ubuntu20.04的终端gnome-terminal依赖系统自带的python3.8,如果装成高版本,则终端只转圈,打不开) 如果硬要玩火,参见下述步骤。此处只做记录,不推荐这样搞。在conda虚拟环境里玩,稳当点。目前还没......
  • Python 学习记录 (4)
    Plotly常见可视化方案:以鸢尾花数据为例简单介绍:Ploty库也有大量统计可视化方案,并且这些可视化方案具有交互化属性。主要对鸢尾花数据进行处理与可视化。所展示的结果为交互界面的截图情况,这里不能进行交互。使用Plotly绘制散点图与箱型图,分类展示“花萼宽度”说明:类似'......
  • CSS:浮动(文档流)及css定位
    一.文档流文档流指的是文档中的标签在排列时所占用的位置.将窗体自上而下分成一行一行,并且在每行中按从左至右的顺序排放标签,即为文档流.简单来说就是标签在网页中的默认排放规则二.浮动  当我们想要对网页进行布局,文档流就会相当麻烦,因为文档流中标签默认会紧贴......
  • Python头歌~列表自学引导
    第一关,输入数据创建列表 第二关,计算每位选手的成绩 第三关,去除一个最高分和一个最低分 第四关,计算中位数成绩 第五关,去除弃权评委成绩 第六关,将平均成绩附加到列表末尾 第七关,读文件到二维列表 第八关,二维列表数据分析 第九关,成绩排序 ......
  • Python中日期时间与Unix时间戳互转
    importtime#日期格式转10位数的unix时间戳defunix_time(dt):#转换成时间数组timeArray=time.strptime(dt,"%Y-%m-%d%H:%M:%S")#转换成时间戳timestamp=time.mktime(timeArray)returntimestamp#10位unix时间戳转换为日期格式deflocal_time(ti......
  • python如何检查文件是否被修改过?
    在Python中,检查文件是否被修改过通常涉及到监控文件的最后修改时间。以下是几种常用的方法:使用os模块的os.path.getmtime()方法:os.path.getmtime()函数可以获取文件的最后修改时间。通过比较文件当前的修改时间和之前记录的修改时间,可以判断文件是否被修改过。pythonimportos......
  • 《Spring Boot 应用开发技术文档分享》
    一、引言在当今的软件开发领域,快速、高效地构建企业级应用是开发者们追求的目标。SpringBoot作为一款强大的Java开发框架,以其简洁的配置、快速的开发速度和强大的功能,受到了广大开发者的青睐。本文将详细介绍SpringBoot的特点、优势以及在应用开发中的实际使用方法。......
  • python入门基础大全(全网最细)
    1.编码如果在程序中用到了中文,直接输出结果很可能会出错,比如:print("你好")解决的办法是,在程序的开头写入如下代码:#-*-coding:utf-8-*-或者#coding=utf-8用于向Python解释器声明源代码文件所用的编码类型为“utf-8”,如果代码里有中文,打印的时候可以使中文正常显示......
  • python做的交互式动态大图,真漂亮!
       精品专题:01.《C语言从不挂科到高绩点》课程详细笔记https://blog.csdn.net/yueyehuguang/category_12753294.html?spm=1001.2014.3001.548202.《SpringBoot详细教程》课程详细笔记https://blog.csdn.net/yueyehuguang/category_12789841.html?spm=1001.2014.3001.54......