页面、页面元素和属性

为了有效地使用 Slides API,您需要了解 演示文稿及其组件的结构,以及 。本页将详细介绍这些 主题:

  • 演示文稿组件的概念模型
  • API 如何表示这些组件
  • 组件的样式属性

阅读本文章和其他概念概览有助于您更轻松地理解 并参阅方法指南参考文档 文档配方 示例

演示文稿、页面和页面元素

Google 幻灯片最外层的容器元素是演示文稿。这是 可以保存在 Google 云端硬盘、与其他用户共享以及执行其他操作的单元。

每个演示文稿均包含各种类型的页面。有一类网页是 幻灯片,即用户看到的页面 查看及切换显示在屏幕上的呈现内容的时间。

每个页面都包含一些页面元素,这些元素共同构成了 网页内容,如下图所示:

幻灯片架构图

除了幻灯片之外,还有其他类型的页面可让您将设计应用到 多个不同的幻灯片,从而形成统一的外观。这些其他网页类型 即母版和布局,其属性决定了幻灯片采用的方式。 如下图所示:

主题架构图

母版 - 母版页面的用途有两个。母版上的占位符 包含整个演示文稿中使用的文本样式的默认值。通过 背景和幻灯片母版上的任何其他形状组成 为母版的所有幻灯片添加背景。如果您拥有的公司徽标 请将它放在母版上。

布局 - 布局模板确定每种类型的内容排列方式。 幻灯片。如果您想让所有标题幻灯片都具有特定外观, 例如,您可以编辑标题布局模板。

另外还有两种页面(备注页面和备注母版), 与演讲者备注密切相关。

API 表示法类型和结构

本部分介绍了 Google 幻灯片的概念模型, 会以幻灯片 API 的形式呈现

下图描绘了演示文稿、页面和 和页面元素作为类型:

ERD 样式示意图

以下部分展示了这些类型在 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,您可以读取和更新页面和页面的外观 如何在演示文稿中插入这些元素支持不同的页面元素 控制页面元素的呈现方式的不同属性。

每个页面元素类型都有对应的属性元素和属性 更新消息,例如:

每个页面元素都存在同一组元素/属性/更新请求 类型: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