Python实现在PPT中添加或删除图片

 更新时间:2025年04月28日 10:33:59   作者:Eiceblue  
在数字化办公时代,Python已成为自动化处理Office文档的首选工具,本文将介绍如何使用免费Python库在PPT文档中添加图片,或删除PPT文档中的图片,需要的可以参考下

在数字化办公时代,Python已成为自动化处理Office文档的首选工具。针对PowerPoint图片管理,使用Python能实现批量操作多个PPT文件,并减少人工操作的失误。本文将介绍如何使用免费Python库在PPT文档中添加图片,或删除PPT文档中的图片

环境准备

安装 Free Spire.Presentation for Python库。

pip install Spire.Presentation.Free

Python 在PPT幻灯片中添加图片

使用免费Python库提供的 ISlide.Shapes.AppendEmbedImageByImageData() 方法,可实现在指定幻灯片中添加图片。操作如下:

创建PPT演示文档,并通过 Presentation.Slides[index] 属性获取其中指定幻灯片。

加载一张图片,然后指定图片在幻灯片上的位置。

通过 ISlide.Shapes.AppendEmbedImageByPath() 方法在幻灯片中添加图片。

使用 Presentation.SaveToFile() 方法保存生成的演示文稿。

Python代码:

from spire.presentation.common import *
import math
from spire.presentation import *

# 创建PPT演示文稿
presentation = Presentation()

# 获取第一张幻灯片
slide = presentation.Slides[0]

# 加载一张图片
imageFile = "logo.png"

# 指定图片在幻灯片中的位置
left = math.trunc(presentation.SlideSize.Size.Width / float(2)) -100
rect1 = RectangleF.FromLTRB (left, 120, 180 + left, 300)

# 在幻灯片上添加嵌入式图片
image = slide.Shapes.AppendEmbedImageByPath (ShapeType.Rectangle, imageFile, rect1)

# 设置图片的外框线为无填充效果
image.Line.FillType = FillFormatType.none

# 保存PPT文档
presentation.SaveToFile("PPT图片.pptx", FileFormat.Pptx2016)
presentation.Dispose()

生成文档:

Python 删除PPT幻灯片中的图片

要删除PowerPoint幻灯片中的所有图片则需要先遍历幻灯片中的每一个形状,找出形状中的图片类型 (SlidePicture),再通过 ISlide.Shapes.Remove(Index) 来删除图片。操作如下:

使用 Presentation.LoadFromFile() 方法加载PPT文档。

通过 Presentation.Slides[index] 属性获取指定幻灯片。

使用 for 循环来遍历指定幻灯片上的所有形状。

判断当前形状是否是为 SlidePicture 类型(图片),如果是,则使用 ISlide.Shapes.Remove(Index) 来删除图片。

使用 Presentation.SaveToFile() 方法保存生成的演示文稿。

Python代码:

from spire.presentation.common import *
from spire.presentation import *

# 加载PPT文件
ppt = Presentation()
ppt.LoadFromFile("PPT图片.pptx")

# 获取第一张幻灯片
slide = ppt.Slides[0]

# 遍历幻灯片中的所有形状
for i in range(slide.Shapes.Count - 1, -1, -1):
   
    # 判断当前形状是否为图片(SlidePicture)
    if isinstance(slide.Shapes[i], SlidePicture):
       
        # 如果是图片,则从幻灯片中移除该形状
        slide.Shapes.RemoveAt(i)

# 保存结果文件
ppt.SaveToFile("删除PPT图片.pptx", FileFormat.Pptx2016)
ppt.Dispose()

方法补充

Python向PPT中批量插入图片

1.用python-pptx模块

实现的过程也很简单,主要是导入指定模块,利用os来遍历所有的图片,然后创建ppt对象,插入空白的slide,然后通过循环的办法把图片插入到幻灯片中。根据图片距离左、上、高度来最终确定其位置。

from pptx import Presentation
from pptx.util import Inches
import os
 
# 获取当前目录下所有的png文件
pics = [file for file in os.listdir(".") if file.endswith(".png")]
 
# 创建一个演示文稿对象
prs = Presentation()
 
for pic in pics:
    # 添加一张新幻灯片
    slide_layout = prs.slide_layouts[5]  # 使用空白布局
    slide = prs.slides.add_slide(slide_layout)
 
    # 添加图片到幻灯片
    img_path = pic
    left = Inches(5.8)
    top = Inches(2)
    height = Inches(3.5)
    slide.shapes.add_picture(img_path, left, top, height=height)
 
# 保存演示文稿
prs.save('add-image-in-presentation.pptx')

2.利用Aspose.slides这个模块

Aspose模块的办法和python-pptx的类似。过程也是首先遍历得到图片的地址,然后创建PPT对象,通过添加空白slide,把图片插入的办法来实现。

import aspose.slides as slides
import os
pics = [file for file in os.listdir(".") if file.endswith(".png")]
 
    # 创建演示文稿
with slides.Presentation() as pres:
    # 访问第一张幻灯片
    for num,pic in enumerate(pics,0):
        
        slide = pres.slides.add_empty_slide(pres.layout_slides[0])
 
        # 从文件加载图像
        with open(pic, "rb") as in_file:
          
            # 将图像添加到演示文稿的图像集
            image = pres.images.add_image(in_file)
 
            # 将图像添加到幻灯片
            slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 20, 20, 100, 100, image)
 
    # 保存演示文稿
    pres.save("add-image-in-presentation.pptx", slides.export.SaveFormat.PPTX)

slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 20, 20, 100, 100, image)这行代码中,前2个数是是图片距离左侧和右侧的距离。

到此这篇关于Python实现在PPT中添加或删除图片的文章就介绍到这了,更多相关Python PPT图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python的Django框架中自定义模版标签的示例

    Python的Django框架中自定义模版标签的示例

    这篇文章主要介绍了Python的Django框架中自定义模版标签的示例,标签的用处比过滤器更多,需要的朋友可以参考下
    2015-07-07
  • Django数据库表反向生成实例解析

    Django数据库表反向生成实例解析

    这篇文章主要介绍了Django数据库表反向生成实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python实现简单的图书管理系统

    Python实现简单的图书管理系统

    这篇文章主要为大家详细介绍了Python实现简单的图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • python实现坦克大战游戏 附详细注释

    python实现坦克大战游戏 附详细注释

    这篇文章主要为大家详细介绍了python实现坦克大战游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Python实现windows自动关机功能

    Python实现windows自动关机功能

    这篇文章主要为大家详细介绍了如何使用Python实现windows自动关机功能,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2025-01-01
  • Python OpenCV对图像进行模糊处理详解流程

    Python OpenCV对图像进行模糊处理详解流程

    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面很多通用算法
    2021-10-10
  • 解决paramiko执行命令超时的问题

    解决paramiko执行命令超时的问题

    这篇文章主要介绍了解决paramiko执行命令超时的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python实现中文分词FMM算法实例

    python实现中文分词FMM算法实例

    这篇文章主要介绍了python实现中文分词FMM算法,实例分析了Python基于FMM算法进行中文分词的实现方法,涉及Python针对文件、字符串及正则匹配操作的相关技巧,需要的朋友可以参考下
    2015-07-07
  • 利用Python的PyPDF2库提取pdf中的文字

    利用Python的PyPDF2库提取pdf中的文字

    PyPDF2是一个用于处理PDF文件的Python库,它提供了许多用于读取和操作PDF文件的功能,对于需要处理PDF文件的Python应用程序,PyPDF2是一个非常实用的工具库,本文将给大家详细介绍一下如何通过Python的PyPDF2库提取pdf中的文字,需要的朋友可以参考下
    2023-05-05
  • python Scrapy爬虫框架的使用

    python Scrapy爬虫框架的使用

    这篇文章主要介绍了python Scrapy爬虫框架的使用,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01

最新评论