幻灯片

演示文稿中的每张幻灯片都基于幻灯片布局。毫无疑问,当您创建新的幻灯片时,您必须指定使用哪个幻灯片布局。让我们花点时间来理解一些关于幻灯片布局的东西,这样我们就可以添加我们想要的幻灯片外观。

幻灯片布局基础

幻灯片布局就像幻灯片的模板。无论幻灯片布局上的内容是什么,它都会“通过”显示在幻灯片上,而在幻灯片布局上所做的格式选择也会被幻灯片继承。这是重要的特性,可以获得看起来很专业的演示文稿套件,其中所有幻灯片的格式都是一致的。每个幻灯片布局都以类似的方式基于幻灯片母版,因此您可以在幻灯片母版上做出整个演示文稿的格式决定,在幻灯片布局上做出特定于布局的决定。实际上可以有多个幻灯片母版,但现在我假设只有一个。通常有。

PowerPoint 的演示文稿主题有九种幻灯片布局,分别是 TitleTitle and ContentTitle OnlyBlank。每个都有零个或多个占位符(大多数不是零个),可以放置标题、多级项目列表符号、图像等的预设格式化区域。稍后再详细介绍。

标准 PowerPoint 主题中的幻灯片布局总是以相同的顺序出现。这允许内容从一个 deck 粘贴到另一个,并连接到正确的新幻灯片布局:

  • Title (presentation title slide)

  • Title and Content

  • Section Header (sometimes called Segue)

  • Two Content (side by side bullet textboxes)

  • Comparison (same but additional title for each side by side content box)

  • Title Only

  • Blank

  • Content with Caption

  • Picture with Caption

python-pptx 中,这些是 prs.slide_layouts[0] 通过 prs.slide_layouts[8]。然而,并没有规定它们必须按照这个顺序出现,这只是 PowerPoint 提供的主题遵循的惯例。如果你使用的模板有不同的幻灯片布局,或者有不同的顺序,你必须自己制定幻灯片布局索引。它很简单。只要在 PowerPoint 的幻灯片主视图中打开它,从顶部开始倒数,从 0 开始。

现在我们可以创建新的幻灯片。

添加幻灯片

让我们使用标题和内容幻灯片布局;很多幻灯片都是这样的:

SLD_LAYOUT_TITLE_AND_CONTENT = 1

prs = Presentation()
slide_layout = prs.slide_layouts[SLD_LAYOUT_TITLE_AND_CONTENT]
slide = prs.slides.add_slide(slide_layout)

有几件事需要注意:

  • 使用像 SLD_LAYOUT_TITLE_AND_CONTENT 这样的 “constant” 值是由你决定的。如果你要制作很多幻灯片,定义一些常量会很方便,这样读者就能更容易地理解你在做什么。软件包中并没有一套这样的工具,因为你不能保证它们对你正在使用的起始平台是正确的。

  • prs.slide_layouts 是包含在演示文稿中的幻灯片布局的集合,具有列表语义,至少对于 item 访问,这是关于所有你可以用该集合在此刻做的。在 Presentation 实例中使用 prs 纯粹是传统的,但我喜欢它,并一直使用它。

  • prs.slides 是演示文稿中的幻灯片集合,也有用于项访问的列表语义,len() 可以处理它。请注意,添加幻灯片的方法是在幻灯片集合中,而不是在演示文稿中。add_slide() 方法将新幻灯片追加到集合的末尾。在编写时,这是添加幻灯片的唯一方法,但我预计迟早会有人想要在中间插入幻灯片,当他们发布功能请求时,我预计我会添加 insert_slide(idx, ...) 方法。

用幻灯片做其他事情

现在,添加幻灯片是幻灯片集合上的唯一操作。在编写待办事项列表时,删除幻灯片并将幻灯片移动到列表中的不同位置。在一般情况下,将幻灯片从一个演示文稿复制到另一个演示文稿是非常困难的,所以在更多的积压工作完成之前,这可能不会发生。

接下来为你放映 。。。

好了,现在我们有了新幻灯片,让我们来谈谈如何在上面添加东西 ……