信息的交流与分享是提升效率的关键一环,PowerPoint演示文稿(PPT)作为展示成果的常用工具,其内容的灵活性与视觉吸引力深受青睐。但面对不同平台的兼容性限制、便捷分享的需求或是快速预览的场景,将PPT转换为图片格式能够尽可能地适应各种场景需求。本文将介绍如何通过Python将PowerPoint演示文稿(PPT)转换为图片,满足不同的展示与分享需求,同时实现批量与自动话操作,提升效率。

  • 将 PowerPoint 演示文稿转换为 JPG、PNG 或 BMP 图像
  • 将 PowerPoint 演示文稿转换为 SVG 图像

本文所使用的方法基于Spire.Presentation for Python,PyPI:pip install Spire.Presentation

将 PowerPoint 演示文稿转换为 JPG、PNG 或 BMP 图像

我们可以使用库中的 ISlide.SaveAsImage() 方法将 PowerPoint 演示文稿中的幻灯片转换为 PNG、JPG 或 BMP 等格式的图像文件。具体步骤如下:

  1. 导入所需模块。
  2. 使用 Presentation.LoadFromFile() 方法加载 PowerPoint 演示文稿。
  3. 循环演示文稿中的幻灯片。
  4. 使用 ISlide.SaveAsImage() 方法将每张幻灯片保存为图像流,还可以使用 ISlide.SaveAsImageByWH() 方法以指定的高度和宽度保存。
  5. 使用 Stream.Save() 方法将图像流保存为 JPG、PNG 或 BMP 文件。
  6. 释放资源。

代码示例:

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

# 创建一个 Presentation 对象
presentation = Presentation()

# 加载一个 PowerPoint 演示文稿
presentation.LoadFromFile("Sample.pptx")

# 遍历演示文稿中的幻灯片
for i in range(presentation.Slides.Count):
    # 获取幻灯片
    slide = presentation.Slides.get_Item(i)
    # 指定输出文件名
    fileName ="Output/ToImage_" + str(i) + ".png"
    # 将每个幻灯片保存为 PNG 图像
    image = slide.SaveAsImage()
    # 或者使用指定的宽度和高度保存幻灯片为图像
    # image = slide.SaveAsImageByWH(800, 600)
    image.Save(fileName)
    image.Dispose()

presentation.Dispose()

结果
Python实现PPT转图片

将 PowerPoint 演示文稿转换为 SVG 图像

我们还可以使用库中的 ISlide.SaveToSVG() 方法将幻灯片转换为SVG格式的图像。以下是操作步骤:

  1. 导入所需模块。
  2. 使用 Presentation.LoadFromFile() 方法加载 PowerPoint 演示文稿。
  3. Presentation.IsNoteRetained 属性设置为True,以便在将幻灯片转换为 SVG 文件时保留其中的注释。
  4. 循环演示文稿中的幻灯片。
  5. 使用 ISlide.SaveToSVG() 方法将每张幻灯片保存为 SVG 流。
  6. 使用 Stream.Save() 方法将 SVG 流保存为 SVG 文件。
  7. 释放资源。

代码示例:

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

# 创建一个 Presentation 对象
presentation = Presentation()

# 加载一个 PowerPoint 演示文稿
presentation.LoadFromFile("Sample.pptx")

# 将 IsNoteRetained 属性设置为 True,以在将演示文稿转换为 SVG 文件时保留备注信息
presentation.IsNoteRetained = True

# 遍历演示文稿中的幻灯片
for i, slide in enumerate(presentation.Slides):
    # 指定输出文件名
    fileName = "SVG/ToSVG_" + str(i) + ".svg"
    # 将每个幻灯片保存为 SVG 图像
    svgStream = slide.SaveToSVG()
    svgStream.Save(fileName)

presentation.Dispose()

本文介绍了如何使用Python将PowerPoint演示文稿中的幻灯片转换为各种格式的图片。

更多PowerPoint演示文稿处理技巧请前往Spire.Presentation for Python教程查看。

申请免费License


大丸子
12 声望3 粉丝