为了有效地使用 Slides API,您需要了解 演示文稿及其组件的结构,以及 。本页将详细介绍这些 主题:
- 演示文稿组件的概念模型
- API 如何表示这些组件
- 组件的样式属性
阅读本文章和其他概念概览有助于您更轻松地理解 并参阅方法指南、参考文档 文档和配方 示例。
演示文稿、页面和页面元素
Google 幻灯片最外层的容器元素是演示文稿。这是 可以保存在 Google 云端硬盘、与其他用户共享以及执行其他操作的单元。
每个演示文稿均包含各种类型的页面。有一类网页是 幻灯片,即用户看到的页面 查看及切换显示在屏幕上的呈现内容的时间。
每个页面都包含一些页面元素,这些元素共同构成了 网页内容,如下图所示:
除了幻灯片之外,还有其他类型的页面可让您将设计应用到 多个不同的幻灯片,从而形成统一的外观。这些其他网页类型 即母版和布局,其属性决定了幻灯片采用的方式。 如下图所示:
母版 - 母版页面的用途有两个。母版上的占位符 包含整个演示文稿中使用的文本样式的默认值。通过 背景和幻灯片母版上的任何其他形状组成 为母版的所有幻灯片添加背景。如果您拥有的公司徽标 请将它放在母版上。
布局 - 布局模板确定每种类型的内容排列方式。 幻灯片。如果您想让所有标题幻灯片都具有特定外观, 例如,您可以编辑标题布局模板。
另外还有两种页面(备注页面和备注母版), 与演讲者备注密切相关。
API 表示法类型和结构
本部分介绍了 Google 幻灯片的概念模型, 会以幻灯片 API 的形式呈现
下图描绘了演示文稿、页面和 和页面元素作为类型:
以下部分展示了这些类型在 JSON 中的表示方式。
演示文稿
演示文稿包括 属性的数量,并包含其中的页面:
{
"presentationId": string,
"pageSize": { object(Size) },
"slides": [ { object(Page) } ],
"title": string,
"masters": [ { object(Page) } ],
"layouts": [ { object(Page) } ],
"notesMaster": object(Page),
"locale": string,
}
Pages
网页包含一组 属性,并且包含其中包含的页面元素:
{
"objectId": string,
"pageType": enum(PageType),
"pageElements": [ { object(PageElement) } ],
"pageProperties": { object(PageProperties) },
// Union field properties can be only one of the following:
"slideProperties": { object(SlideProperties) },
"layoutProperties": { object(LayoutProperties) },
"notesProperties": { object(NotesProperties) },
// End of list of possible types for union field properties.
}
页面元素
页面元素 是指放置在网页上的视觉组件API 中的页面元素 包含许多属性,其中包括一个字段, 页面元素类型:
{
"objectId": string,
"size": { object(Size) },
"transform": { object(AffineTransform) },
"title": string,
"description": string,
// Union field element_kind can be only one of the following:
"elementGroup": { object(Group) },
"shape": { object(Shape) },
"image": { object(Image) },
"video": { object(Video) },
"line": { object(Line) },
"table": { object(Table) },
"wordArt": { object(WordArt) },
"sheetsChart": { object(SheetsChart) },
// End of list of possible types for union field element_kind.
}
根据 union 字段的定义,有多种类型的页面元素可供使用。
element_kind
。这些类型的网页元素
如下表所示:
元素种类 | 说明 |
---|---|
群组 | 一组被视为单个单元的页面元素。它们可以一起移动、缩放和旋转。 |
形状 | 一种普通的可视对象,例如矩形、椭圆形和文本框。形状可以包含文本,因此它们是最常用来制作幻灯片的页面元素。 |
映像 | 导入幻灯片的图形。 |
视频 | 导入幻灯片的视频。 |
折线图 | 可视的线条、曲线或连接符。 |
表 | 内容网格。 |
WordArt | 一种行为更像形状的视觉文本元素。 |
SheetsChart | 从 Google 表格导入幻灯片的图表。 |
页面和页面元素属性
借助幻灯片 API,您可以读取和更新页面和页面的外观 如何在演示文稿中插入这些元素支持不同的页面元素 控制页面元素的呈现方式的不同属性。
每个页面元素类型都有对应的属性元素和属性 更新消息,例如:
- 存在一个页面元素类型 Shape
- 其属性字段为 shapeProperties
- 更新这些属性的请求是 UpdateShapePropertiesRequest
每个页面元素都存在同一组元素/属性/更新请求 类型:Image/imageProperties/UpdateImageProperties, 依此类推。
在读取 element;要更改其中的值,请将它与匹配的请求类型一起使用,如下所示: batchUpdate 的载荷 方法,以便在演示文稿中更改这些值。
属性种类
有一些属性在一些种类的对象之间 幻灯片 API:
属性 | 说明 |
---|---|
颜色 | Google 幻灯片 API 中的颜色既可以是 RGB 值,也可以是对主题颜色的引用。主题颜色通过名称(例如“DARK1”)来指代,并可使用网页的配色方案映射到 RGB 值。在幻灯片编辑器中更改演示文稿的主题时,系统通常会更新此配色方案。 |
填充 | 填充表示渲染对象内部的空白区域。Google 幻灯片中支持的最常见填充是实心填充,即使用单一纯色填充对象的内部。填充也可用于页面的背景。 |
轮廓 | 轮廓表示围绕页面元素的一系列线条。线条的颜色通过 Fill 进行控制。调用方还可以调整轮廓的宽度和虚线样式。 |
Shadow | 阴影表示一种视觉效果,旨在模拟物体投射的物理阴影。目前,Slides API 中的阴影是只读的。 |
更新属性
要更新属性,请使用
Update...Properties
中的
batchUpdate
调用),例如,对于形状,调用 UpdateShapeProperties
。这些请求
接受完整的属性消息,并且可以使用
字段掩码来确定
属性消息。
媒体资源继承
页面或页面元素可以从其父对象继承属性。一个 对象的属性,包括其定义的属性和 确定其最终视觉外观。
- 网页属性 - 网页会继承不具有的任何属性 但其在所基于的布局或母版中进行定义。
- 形状属性 - 形状可以标记为占位符, 您明确引用了另一个占位符形状(位于页面的父级布局中) 或母版)。
以下段落对这些概念进行了详细说明。
页面属性的继承
幻灯片、布局和母版的结构定义继承层次结构 在演示文稿中:幻灯片继承自布局,布局继承自布局 大师。幻灯片的父布局和母版是在幻灯片的 slideProperties 字段。
页面可以继承属性,例如 background 和配色方案, 从父页面获取。要继承某个属性,子页面只需不设置 属性中为其指定的值 PageProperties 消息。通过不“覆盖”父页面定义的值,则页面接受 继承的值。
下图展示了一张幻灯片从布局继承属性, 继承自主实例:
用于呈现幻灯片的属性是幻灯片所定义的属性和 属性在本示例中,用于渲染幻灯片 1 的解析值 如下:
- PropertyA 为“Red”。
- PropertyB 为“Orange”。
形状属性的继承
形状可以从其他对象继承属性,例如填充、轮廓或阴影,
形状。如果某个形状是占位符,那么它的
Shape.placeholder
字段。子占位符的 Shape.placeholder.parentObjectId
字段
标识其父占位符。当您根据
布局,该布局中的任何占位符都将在新幻灯片中显示为子形状。
同样,母版页面上的占位符也可充当
占位符。
定义此继承层次结构后,子网页会通过 而不是为其设置相应的值 ShapeProperties 消息。通过不覆盖父形状定义的值, 接受继承的值。
下图显示了三个属性之间的属性继承 包含在幻灯片、布局和母版中的占位符:
用于呈现占位符形状的属性是 以及继承的对象在本示例中,这些函数的解析值 形状如下:
- Placeholder1:propertyA 渲染为“Yellow”,propertyB 渲染为“Green”。
- Placeholder2:propertyA 渲染为“Yellow”,propertyB 渲染为“Purple”。
- Placeholder3:propertyA 渲染为“Yellow”,propertyB 渲染为“Purple”。
形状是唯一可以拥有父项的页面元素类型。其他类型 作为占位符,也不能包含 。
“隐藏”使用 PropertyState 的属性
PropertyState
枚举控制某个形状的属性实际是否用于渲染,
或者该值仅用于子形状继承。媒体资源
在其上渲染形状时,将不会使用属性状态 NOT_RENDERED
,
页面,但相应属性状态为 RENDERED
的子项
仍可以沿用此属性
下图显示了三个属性之间的属性继承 操控 PropertyState 字段的占位符:
形状属性的渲染可能会受 PropertyState 字段的影响。 在此示例中,这些形状的解析值如下所示:
- Placeholder1:propertyA 渲染为“Red”。
- Placeholder2:propertyA 未渲染。如果这是 outline 属性 Placeholder2 没有轮廓。
- Placeholder3:propertyA 未渲染。
还有一个可能的值
PropertyState
枚举:INHERIT
属性状态表示属性状态
本身为继承而来,且应使用父代的值。不含 的形状
父级的属性状态不能为 INHERIT
。