如何使用Python保存PPT中的形状为图像文件

 更新时间:2024年10月20日 11:29:11   作者:Eiceblue  
将PowerPoint演示文稿中的形状(幻灯片中的内容元素,包括文本框、图形、图片、图表等)保存为图片是方便内容跨平台分享和再利用的有效手段,本文将演示如何使用Python保存PowerPoint演示文稿中的形状为图像文件,需要的朋友可以参考下

引言

将PowerPoint演示文稿中的形状(幻灯片中的内容元素,包括文本框、图形、图片、图表等)保存为图片是方便内容跨平台分享和再利用的有效手段。利用Python,我们可以直接将PowerPoint幻灯片中带设计和格式的文本、图片、图形、表格等各种元素直接保存为图片,从而实现在保留原设计和格式的情况下,将其发布在网页或是在其他文档编辑等场景再利用。本文将演示如何使用Python保存PowerPoint演示文稿中的形状为图像文件。

本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install spire.presentation

使用Python保存PPT中的所有形状为图像文件

在操作PowerPoint演示文稿时,我们可以先使用Presentation.LoadFromFile()方法从文件载入演示文稿,再使用Presentation.Slides.get_Item()方法获取单个幻灯片或遍历所幻灯片。然后,我们可以遍历通过Slide.Shapes.SaveAsImage(shapeIndex: int, dpiX: int, dpiY: int)方法将形状保存为图像。下面是操作步骤示例:

  1. 导入所需模块
  2. 创建Presentation实例。
  3. 使用Presentation.LoadFromFile()方法加载PowerPoint演示文稿。
  4. 使用Presentation.Pages.get_Item()方法获取一个幻灯片。
  5. 遍历幻灯片中的形状:
    • 使用Slide.Shapes.SaveAsImage()方法将形状保存为图像流。
    • 使用Stream.Save()方法将图像流保存到文件。

代码示例

from spire.presentation import *

# 创建一个 Presentation 实例
presentation = Presentation()

# 加载一个 PowerPoint 文件
presentation.LoadFromFile("Sample.pptx")

# 获取第四张幻灯片(索引从0开始)
slide = presentation.Slides.get_Item(4)

# 将形状保存为图片流
for i in range(slide.Shapes.Count):
    # 保存当前形状为指定大小的图片流
    imageStream = slide.Shapes.SaveAsImage(i, 256, 256)
    # 保存图片到文件
    imageStream.Save(f"output/Shapes/ShapeToImage{i}.png")

# 释放资源
presentation.Dispose()

结果

用Python保存PPT中带格式设计的图片为图像文件

通过直接将形状保存图像文件的方法,我们还可以直接将演示文稿中进行了格式编辑的图片保存图像文件,并保留其格式。我们只需要在将形状保存为图像时,判断其是否为SlidePicture实例并保存这些实例。以下是操作步骤示例:

  1. 导入所需模块
  2. 创建Presentation实例。
  3. 使用Presentation.LoadFromFile()方法加载PowerPoint演示文稿。
  4. 使用Presentation.Pages.get_Item()方法获取一个幻灯片。
  5. 遍历幻灯片中的形状:
    • 判断形状是否为SlidePicture实例,如果是则将其保存为图像流。
    • 使用Stream.Save()方法将图像流保存到图像文件。

代码示例

from spire.presentation import *

# 创建一个 Presentation 实例
presentation = Presentation()

# 加载一个 PowerPoint 文件
presentation.LoadFromFile("Sample.pptx")

# 获取第五张幻灯片(索引从0开始)
slide = presentation.Slides.get_Item(1)

# 遍历幻灯片中的所有形状
i = 0
for shape in slide.Shapes:
    # 检查形状是否是 SlidePicture 类型的对象
    if isinstance(shape, SlidePicture):
        # 保存形状为图片流
        shape = shape if isinstance(shape, SlidePicture) else None
        image = slide.Shapes.SaveAsImage(slide.Shapes.IndexOf(shape), 256, 256)
        # 保存图片到文件
        image.Save(f"output/Images/ImageShape{i}.png")
        i += 1

# 释放资源
presentation.Dispose()

本文演示了如何使用Python将PowerPoint演示文稿中的形状保存图像文件。

到此这篇关于如何使用Python保存PPT中的形状为图像文件的文章就介绍到这了,更多相关Python保存PPT的形状为图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python构建区块链的方法详解

    Python构建区块链的方法详解

    区块链(Blockchain)是一种分布式账本(listributed ledger),它是一种仅供增加(append-only),内容不可变(immutable)的有序(ordered)链式数据结构,该数据结构由网络中的一系列节点共同维护,并且这些节点之间互不信任
    2023-02-02
  • Python按天实现生成时间范围序列的方法详解

    Python按天实现生成时间范围序列的方法详解

    有的时候我们希望生成一段时间返回,比如从 2022-01-01 00:00:00 后面的 10 天,这么 10 个 datetime 对象,但是我们又不想自己去计算哪些月有30天哪些月有31天。所以本文将用Python实现按天自动生成时间范围序列,需要的可以参考一下
    2022-11-11
  • python小技巧之批量抓取美女图片

    python小技巧之批量抓取美女图片

    学了python以后,知道python的抓取功能其实是非常强大的,当然不能浪费,呵呵。我平时很喜欢美女图,呵呵,程序员很苦闷的,看看美女,养养眼,增加点乐趣。好,那就用python写一个美女图自动抓取程序吧~~
    2014-06-06
  • 利用Python创建位置生成器的示例详解

    利用Python创建位置生成器的示例详解

    在这篇文章中,我们将探索如何利用Python在美国各地城市的地图数据和公共电动自行车订阅源上训练一个快速生成的对抗网络(GAN)模型,需要的可以参考一下
    2022-06-06
  • python的重要技能输入与输出字符串格式化使用详解

    python的重要技能输入与输出字符串格式化使用详解

    这篇文章主要为大家介绍了python的重要技能输入与输出格式化使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例

    使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例

    这篇文章主要介绍了使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Python数据抓取爬虫代理防封IP方法

    Python数据抓取爬虫代理防封IP方法

    在本篇内容里小编给大家分享了关于Python数据抓取爬虫代理防封IP方法讲解,需要的朋友们可以跟着学习下。
    2018-12-12
  • python 实现百度网盘非会员上传超过500个文件的方法

    python 实现百度网盘非会员上传超过500个文件的方法

    这篇文章主要介绍了python 实现百度网盘非会员上传超过500个文件的方法,帮助大家更好的利用python解决问题,感兴趣的朋友可以了解下
    2021-01-01
  • python 写一个性能测试工具(一)

    python 写一个性能测试工具(一)

    这篇文章主要介绍了利用python 写一个性能测试工具,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-10-10
  • Python实现批量文件分类保存的示例代码

    Python实现批量文件分类保存的示例代码

    当我们电脑里面的文本或者或者文件夹太多了,有时候想找到自己想要的文件,只能通过去搜索文件名,这样还是很麻烦的。本文将通过Python语言实现文件批量分类保存,需要的可以参考一下
    2022-04-04

最新评论