Trang, phần tử trang và thuộc tính

Để sử dụng API Trang trình bày một cách hiệu quả, bạn cần hiểu cấu trúc của bản trình bày và các thành phần của bản trình bày, cũng như hoạt động tương tác giữa các thành phần này. Trang này cung cấp thông tin tổng quan chi tiết về những chủ đề sau:

  • Mô hình khái niệm của các thành phần bản trình bày
  • Cách API biểu thị các thành phần này
  • Tạo kiểu thuộc tính của thành phần

Việc đọc phần này và các thông tin tổng quan khác về khái niệm sẽ giúp bạn dễ dàng hiểu và sử dụng hướng dẫn cách thực hiện, tài liệu tham khảomẫu công thức nấu ăn.

Bản trình bày, trang và phần tử trang

Phần tử vùng chứa ngoài cùng trong Google Trang trình bày là bản trình bày. Đây là đơn vị có thể được lưu trong Google Drive, chia sẻ với người dùng khác, v.v.

Mỗi bản trình bày có nhiều loại trang. Có một loại trang là trang trình bày, tức là những trang mà người dùng nhìn thấy và lật qua lại khi bản trình bày được kết xuất trên màn hình.

Mỗi trang chứa một số phần tử trang. Các phần tử này cùng tạo nên nội dung của trang, như minh hoạ trong sơ đồ sau:

sơ đồ cấu trúc trang trình bày

Ngoài trang trình bày, còn có những loại trang khác cho phép bạn áp dụng thiết kế cho nhiều trang trình bày để tạo ra giao diện nhất quán. Các loại trang khác sau đây là trang chủbố cục. Các thuộc tính của chúng xác định cách hiển thị trang trình bày, như minh hoạ trong sơ đồ sau:

sơ đồ cấu trúc giao diện

Trang chính — Trang chính phục vụ hai mục đích. Phần giữ chỗ trên chính chứa các giá trị mặc định cho kiểu văn bản được sử dụng trong toàn bộ bản trình bày của bạn. Nền và mọi hình dạng khác trên trang trình bày chính tạo thành nền mặc định cho tất cả các trang trình bày dựa trên trang trình bày chính đó. Nếu bạn có biểu trưng của công ty mà bạn muốn xuất hiện trên mọi trang trình bày trong bản trình bày của mình, hãy đặt biểu trưng đó vào trang chủ.

Bố cục – Mẫu bố cục xác định cách sắp xếp nội dung trên từng loại trang trình bày. Ví dụ: nếu muốn tất cả trang trình bày tiêu đề hiển thị theo một cách nhất định, bạn có thể chỉnh sửa mẫu bố cục tiêu đề.

Có 2 loại trang khác là trang ghi chú và bản ghi chú chính, chủ yếu phù hợp để xử lý ghi chú của người thuyết trình.

Các kiểu và cấu trúc biểu diễn của API

Phần này mô tả cách trình bày mô hình khái niệm của Google Trang trình bày trong API Trang trình bày (như mô tả ở trên).

Sơ đồ sau đây mô tả mối quan hệ giữa các bản trình bày, trang và phần tử trang dưới dạng các loại trong API Trang trình bày:

sơ đồ kiểu erd

Các phần sau đây trình bày cách biểu thị các loại này trong JSON.

Bản trình bày

Bản trình bày bao gồm một số thuộc tính và chứa các trang trong đó:

{
  "presentationId": string,
  "pageSize": { object(Size) },
  "slides": [ { object(Page) } ],
  "title": string,
  "masters": [ { object(Page) } ],
  "layouts": [ { object(Page) } ],
  "notesMaster": object(Page),
  "locale": string,
}

Pages

Một trang bao gồm một tập hợp thuộc tính và chứa các phần tử trang có trong đó:

{
  "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.
}

Phần tử trang

Phần tử trang là các thành phần hình ảnh được đặt trên trang. Một phần tử trang trong API chứa một số thuộc tính, trong đó có một trường thay đổi tuỳ theo loại phần tử trang:

{
  "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.
}

Có một số loại phần tử trang, như được xác định bằng trường hợp nhất element_kind trong định nghĩa ở trên. Các loại phần tử trang này được mô tả trong bảng sau:

Loại phần tử Nội dung mô tả
Nhóm Một tập hợp các phần tử trang được xem là một đơn vị riêng lẻ. Bạn có thể di chuyển, điều chỉnh theo tỷ lệ và xoay các tệp này cùng nhau.
Hình dạng Đối tượng trực quan đơn giản, chẳng hạn như hình chữ nhật, hình elip và hộp văn bản. Hình dạng có thể chứa văn bản, vì vậy chúng là phần tử trang phổ biến nhất để tạo trang trình bày.
Bài đăng có hình ảnh Đã nhập một hình ảnh vào Trang trình bày.
Video Đã nhập một video vào Trang trình bày.
Line Một đường thẳng, đường cong hoặc đầu nối trực quan.
Bảng Nội dung theo bố cục lưới.
WordArt Một thành phần văn bản dạng hình ảnh, hoạt động giống một hình dạng hơn.
SheetsChart Một biểu đồ được nhập từ Google Trang tính vào Trang trình bày.

Thuộc tính trang và phần tử trang

API Trang trình bày cho phép bạn đọc và cập nhật giao diện của trang và phần tử trang trong bản trình bày. Các phần tử trang khác nhau hỗ trợ các thuộc tính khác nhau giúp kiểm soát cách hiển thị phần tử trang.

Mỗi loại phần tử trang có một phần tử thuộc tính tương ứng và một thông báo cập nhật thuộc tính, ví dụ:

Có cùng một tập hợp phần tử/thuộc tính/yêu cầu cập nhật cho từng loại phần tử trang: Image/imageProperties/UpdateImageProperties, v.v.

Bạn có thể đọc thuộc tính bất cứ khi nào bạn gặp thuộc tính khi đọc một phần tử. Để thay đổi các giá trị trong phần tử đó, hãy sử dụng thuộc tính đó với loại yêu cầu phù hợp làm tải trọng cho phương thức batchUpdate, cho phép bạn thay đổi các giá trị này trong bản trình bày.

Các loại cơ sở lưu trú

Có một số thuộc tính phổ biến giữa một số loại đối tượng trong API Trang trình bày:

Tài sản Nội dung mô tả
Màu Màu sắc trong API Trang trình bày có thể là giá trị RGB hoặc tham chiếu đến màu giao diện. Màu giao diện được gọi theo tên (ví dụ: "DARK1") và có thể được liên kết với các giá trị RGB bằng bảng phối màu của trang. Bảng phối màu này thường được cập nhật khi thay đổi giao diện của bản trình bày trong trình chỉnh sửa Trang trình bày.
Fill Màu nền biểu thị việc hiển thị không gian trống bên trong một đối tượng. Màu nền được hỗ trợ phổ biến nhất trong Trang trình bày là màu nền đồng nhất, trong đó phần bên trong của đối tượng được tô bằng một màu đồng nhất. Bạn cũng có thể sử dụng màu nền cho nền của Trang.
Đường viền Đường viền thể hiện tập hợp các đường bao quanh phần tử trang. Màu của các đường kẻ được kiểm soát bằng tính năng Tô màu nền. Người gọi cũng có thể điều chỉnh độ rộng và kiểu gạch ngang của đường viền.
Shadow Bóng biểu thị một hiệu ứng hình ảnh bắt chước bóng vật lý do đối tượng truyền vào. Hiện tại, bóng trong API Trang trình bày ở chế độ chỉ đọc.

Đang cập nhật cơ sở lưu trú

Để cập nhật một thuộc tính, hãy sử dụng yêu cầu Update...Properties thích hợp trong lệnh gọi batchUpdate (ví dụ: UpdateShapeProperties cho Hình dạng). Những yêu cầu này chấp nhận thông báo về thuộc tính đầy đủ và có thể sử dụng mặt nạ trường để xác định những trường trong thông báo về thuộc tính cần được cập nhật.

Các quyền truy cập được kế thừa từ thuộc tính

Một trang hoặc phần tử trang có thể kế thừa các thuộc tính của các đối tượng mẹ. Các thuộc tính của một đối tượng, bao gồm cả các thuộc tính mà đối tượng xác định và các thuộc tính mà đối tượng kế thừa, sẽ xác định giao diện hình ảnh cuối cùng của đối tượng.

  • Thuộc tính trang – Một trang kế thừa mọi thuộc tính mà trang không xác định, nhưng được xác định trong bố cục hoặc bản chính của trang đó.
  • Thuộc tính hình dạng – Hình dạng có thể được đánh dấu là phần giữ chỗ để bạn tham chiếu rõ ràng hình dạng phần giữ chỗ khác (trên bố cục mẹ hoặc bố cục chính của trang) để kế thừa các thuộc tính từ đó.

Những ý tưởng này sẽ được giải thích kỹ hơn trong các đoạn sau.

Tính kế thừa của thuộc tính trang

Cấu trúc của trang trình bày, bố cục và bản chính xác định một hệ phân cấp kế thừa trong bản trình bày: các trang trình bày kế thừa từ bố cục và bố cục kế thừa từ bản chính. Bố cục mẹ và bố cục chính của trang trình bày được chỉ định trong trường slideProperties của trang trình bày.

Một trang có thể kế thừa các thuộc tính như nềnbảng phối màu từ một trang gốc. Để kế thừa một tài sản, trang con chỉ cần không đặt giá trị cho tài sản đó trong thông báo PageProperties. Bằng cách không "ghi đè" giá trị do thành phần mẹ xác định, trang sẽ chấp nhận giá trị kế thừa.

Sơ đồ sau cho thấy một trang trình bày kế thừa các thuộc tính của một bố cục, kế thừa từ một bố cục chính:

kế thừa thuộc tính trang trình bày

Các thuộc tính dùng để hiển thị trang trình bày là sự kết hợp giữa những thuộc tính mà trang trình bày xác định và trang trình bày kế thừa. Trong ví dụ này, các giá trị đã phân giải được dùng để hiển thị Trang trình bày 1 như sau:

  • Thuộc tính A có màu "Đỏ".
  • Thuộc tính B có màu "Cam".

Kế thừa các thuộc tính hình dạng

Hình dạng có thể kế thừa các thuộc tính như tô màu nền, đường viền hoặc bóng đổ từ các hình dạng khác. Một hình dạng là một phần giữ chỗ nếu trường Shape.placeholder của hình dạng đó được đặt. Trường Shape.placeholder.parentObjectId của phần giữ chỗ con xác định phần giữ chỗ mẹ. Khi bạn tạo một trang trình bày mới dựa trên một bố cục, mọi phần giữ chỗ trong bố cục đó sẽ xuất hiện dưới dạng hình dạng con trong trang trình bày mới. Tương tự, phần giữ chỗ trên trang chính có thể đóng vai trò là phần giữ chỗ của bố cục.

Với hệ thống phân cấp kế thừa này được xác định, trang con sẽ kế thừa một thuộc tính bằng cách không đặt giá trị đó trong thông báo ShapeProperties. Bằng cách không ghi đè giá trị do thành phần mẹ xác định, hình dạng con sẽ chấp nhận giá trị kế thừa.

Sơ đồ sau đây cho thấy tính kế thừa của các thuộc tính giữa 3 phần giữ chỗ có trong trang trình bày, bố cục và trang cái:

kế thừa thuộc tính hình dạng

Các thuộc tính dùng để hiển thị hình dạng phần giữ chỗ là sự kết hợp giữa những thuộc tính mà hình dạng đó xác định và những thuộc tính mà hình dạng đó kế thừa. Trong ví dụ này, các giá trị đã được phân giải cho các hình dạng này như sau:

  • Phần giữ chỗ 1: thuộc tínhA hiển thị là "Vàng", thuộc tính B hiển thị là "Xanh lục".
  • Phần giữ chỗ 2: thuộc tínhA hiển thị là "Vàng", thuộc tính B hiển thị là "Tím".
  • Phần giữ chỗ 3: thuộc tính A hiển thị là "Vàng", thuộc tính B hiển thị là "Tím".

Hình dạng là loại phần tử trang duy nhất có thể chứa phần tử mẹ. Các loại khác, chẳng hạn như hình ảnh, bảng và biểu đồ, không thể là phần giữ chỗ và không thể có phần tử mẹ.

Thuộc tính "Ẩn" bằng cách sử dụng PropertiesState

Dữ liệu liệt kê PropertyState kiểm soát việc thuộc tính của hình dạng có thực sự được dùng để kết xuất hay không, hay liệu giá trị đó chỉ được dùng để kế thừa theo hình dạng con. Một thuộc tính có trạng thái thuộc tính NOT_RENDERED sẽ không được dùng khi hiển thị hình dạng trên trang của thuộc tính đó. Tuy nhiên, phần tử con có trạng thái thuộc tính tương ứng là RENDERED vẫn có thể kế thừa thuộc tính này.

Sơ đồ sau đây cho thấy tính kế thừa của các thuộc tính giữa 3 phần giữ chỗ thao tác với trường PropertiesState:

trạng thái thuộc tính và tính kế thừa

Việc hiển thị các thuộc tính hình dạng có thể bị ảnh hưởng bởi trường PropertiesState. Trong ví dụ này, giá trị đã được phân giải cho các hình dạng này như sau:

  • Phần giữ chỗ 1: thuộc tínhA hiển thị là "Màu đỏ".
  • Phần giữ chỗ 2: thuộc tính A không được hiển thị. Nếu đây là thuộc tính đường viền, thì giữ chỗ 2 sẽ không có đường viền.
  • Phần giữ chỗ 3: thuộc tính A không được hiển thị.

Có thể có thêm một giá trị khác cho dữ liệu liệt kê PropertyState: trạng thái thuộc tính INHERIT có nghĩa là trạng thái thuộc tính đó được kế thừa và nên sử dụng giá trị của thành phần mẹ. Các hình dạng không có thành phần mẹ không thể có trạng thái thuộc tính là INHERIT.