准备工作

在本指南中,我们将使用 Spire.Presentation for Python 来为 PowerPoint 添加或移除背景。它是一个功能强大的 Python 库,可以帮助你完成多种 PowerPoint 操作,包括设置或删除背景。

你可以通过以下 pip 命令从 PyPI 安装该库:

pip install Spire.Presentation

另外,该组件还提供免费版,适合用于小型项目和测试。

使用 Python 在 PowerPoint 中添加背景图片

在制作具有吸引力的演示文稿时,添加背景图片是一个非常有效的方式。通过 Python 自动化这一过程,不仅可以提升效率,还能减少手动操作带来的错误。

下面将介绍如何为 PowerPoint 幻灯片添加背景图片。

操作步骤

  1. 创建 Presentation 对象,并从磁盘加载目标文档
  2. 使用 Presentation.Slides[] 获取需要设置背景的幻灯片,并通过 ISlide.SlideBackground 属性访问背景
  3. 将背景类型设置为 Custom,并将填充类型设置为图片填充
  4. 将背景图片加载为流(stream)
  5. 设置图片填充方式(例如 Stretch 以适配整个幻灯片)
  6. 调用 Presentation.SaveToFile() 保存文档

示例代码(为第 2 张幻灯片添加背景图片)

from spire.presentation import *

# 创建 Presentation 对象
ppt = Presentation()
# 加载 PowerPoint 文件
ppt.LoadFromFile("/input/幻灯片2.pptx")

# 获取第 2 张幻灯片
slide = ppt.Slides[1]

# 访问幻灯片背景
background = slide.SlideBackground

# 设置背景类型为自定义
background.Type = BackgroundType.Custom

# 设置填充类型为图片
background.Fill.FillType = FillFormatType.Picture

# 加载图片
stream = Stream("/bg.jpg")
imageData = ppt.Images.AppendStream(stream)

# 设置图片为背景,并使用 Stretch 填充
background.Fill.PictureFill.FillType = PictureFillType.Stretch
background.Fill.PictureFill.Picture.EmbedImage = imageData

# 保存结果
ppt.SaveToFile("/output/imagebackground.pptx", FileFormat.Pptx2013)

# 释放资源
ppt.Dispose()

设置 PPT 的背景图

提示:
Stretch 会拉伸图片以填满整个幻灯片,可能改变图片比例。如果希望保持原始比例,可以使用 Tile 填充方式。

使用 Python 设置 PowerPoint 背景颜色(纯色 & 渐变)

在某些情况下,背景图片可能会干扰内容阅读。这时,使用简洁的颜色背景往往是更好的选择。

本节将介绍如何设置纯色和渐变背景。

设置纯色背景

操作步骤
  1. 创建 Presentation 对象并加载文档
  2. 获取目标幻灯片并访问背景
  3. 将背景类型设置为 Custom
  4. 设置填充类型为 Solid 并指定颜色
  5. 保存文档并释放资源
示例代码(设置 AliceBlue 作为背景色)

from spire.presentation import *

# 创建 Presentation 对象
ppt = Presentation()
ppt.LoadFromFile("/input/幻灯片2.pptx")

# 获取第 2 张幻灯片
slide = ppt.Slides[1]

# 访问背景
background = slide.SlideBackground

# 设置背景类型
background.Type = BackgroundType.Custom

# 设置为纯色填充
background.Fill.FillType = FillFormatType.Solid
background.Fill.SolidColor.Color = Color.get_AliceBlue()

# 保存结果
ppt.SaveToFile("/output/Solidbackground.pptx", FileFormat.Pptx2013)

# 释放资源
ppt.Dispose()

设置 PPT 的背景颜色

设置渐变背景

渐变背景的设置流程与纯色类似,但在填充类型之后需要额外设置渐变参数。

操作步骤
  1. 创建 Presentation 对象并加载文档
  2. 获取目标幻灯片并访问背景
  3. 设置背景类型为 Custom
  4. 设置填充类型为 Gradient
  5. 配置渐变颜色节点(Gradient Stops)
  6. 设置渐变形状和角度
  7. 保存文档
示例代码(设置渐变背景)
from spire.presentation import *

# 创建 Presentation 对象
ppt = Presentation()
ppt.LoadFromFile("/input/幻灯片2.pptx")

# 获取第 2 张幻灯片
slide = ppt.Slides[1]

# 访问背景
background = slide.SlideBackground

# 设置背景类型
background.Type = BackgroundType.Custom

# 设置渐变填充
background.Fill.FillType = FillFormatType.Gradient

# 设置渐变颜色
background.Fill.Gradient.GradientStops.AppendByColor(0.1, Color.get_AliceBlue())
background.Fill.Gradient.GradientStops.AppendByColor(0.7, Color.get_DarkBlue())

# 设置渐变形状和角度
background.Fill.Gradient.GradientShape = GradientShapeType.Linear
background.Fill.Gradient.LinearGradientFill.Angle = 45

# 保存结果
ppt.SaveToFile("/output/Gradientbackground.pptx", FileFormat.Pptx2013)

# 释放资源
ppt.Dispose()

给 PPT 设置渐变背景色

使用 Python 移除 PowerPoint 背景(图片 & 颜色)

如果幻灯片的背景不再符合整体风格时,可以将其移除,恢复为无背景状态。这个步骤很简单,最主要的一步就是将背景类型设置为 None

操作步骤

  1. 创建 Presentation 对象并加载文档
  2. 获取需要处理的幻灯片
  3. 将背景类型设置为 None
  4. 保存文档并释放资源

示例代码(移除第 4 张幻灯片背景)

from spire.presentation import *

# 创建 Presentation 对象
presentation = Presentation()
presentation.LoadFromFile("imagebackground.pptx")

# 获取第 4 张幻灯片
slide = presentation.Slides[3]

# 移除背景
slide.SlideBackground.Type = BackgroundType.none

# 保存结果
presentation.SaveToFile("RemoveBackground_out.pptx", FileFormat.Pptx2010)

# 释放资源
presentation.Dispose()

总结

更多推荐