幻灯片¶
演示文稿中的每张幻灯片都基于幻灯片布局。毫无疑问,当您创建新的幻灯片时,您必须指定使用哪个幻灯片布局。让我们花点时间来理解一些关于幻灯片布局的东西,这样我们就可以添加我们想要的幻灯片外观。
幻灯片布局基础¶
幻灯片布局就像幻灯片的模板。无论幻灯片布局上的内容是什么,它都会“通过”显示在幻灯片上,而在幻灯片布局上所做的格式选择也会被幻灯片继承。这是重要的特性,可以获得看起来很专业的演示文稿套件,其中所有幻灯片的格式都是一致的。每个幻灯片布局都以类似的方式基于幻灯片母版,因此您可以在幻灯片母版上做出整个演示文稿的格式决定,在幻灯片布局上做出特定于布局的决定。实际上可以有多个幻灯片母版,但现在我假设只有一个。通常有。
PowerPoint 的演示文稿主题有九种幻灯片布局,分别是 Title、Title and Content、Title Only 和 Blank。每个都有零个或多个占位符(大多数不是零个),可以放置标题、多级项目列表符号、图像等的预设格式化区域。稍后再详细介绍。
标准 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, ...)
方法。
用幻灯片做其他事情¶
现在,添加幻灯片是幻灯片集合上的唯一操作。在编写待办事项列表时,删除幻灯片并将幻灯片移动到列表中的不同位置。在一般情况下,将幻灯片从一个演示文稿复制到另一个演示文稿是非常困难的,所以在更多的积压工作完成之前,这可能不会发生。
接下来为你放映 。。。¶
好了,现在我们有了新幻灯片,让我们来谈谈如何在上面添加东西 ……