Để sử dụng hiệu quả API Trang trình bày, bạn cần hiểu rõ 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ư các 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ề các chủ đề sau:
- Mô hình khái niệm của các thành phần trình bày
- Cách API biểu thị các thành phần này
- Các thuộc tính tạo kiểu của thành phần
Việc đọc bài viết này và các bài viết 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 làm, tài liệu tham khảo và mẫu công thức.
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à một 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 chứa nhiều loại trang. Một loại trang là bản trình bày, đây là các trang mà người dùng thấy và lật qua lại khi bản trình bày được hiển thị trên màn hình.
Mỗi trang chứa một số phần tử trang, cùng nhau tạo nên nội dung của trang, như minh hoạ trong sơ đồ sau:
Ngoài trang trình bày, còn có các 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 này là trang tổng thể và bố cục, và 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:
Trang chính – Trang chính có hai mục đích. Phần giữ chỗ trên bản chính chứa các kiểu văn bản mặc định được sử dụng trong toàn bộ bản trình bày. Nền và mọi hình dạng khác trên trang trình bày mẫu tạo nên 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 mẫu đó. Nếu bạn có biểu trưng công ty mà bạn muốn xuất hiện trên mọi trang trình bày, hãy đặt biểu trưng đó vào trang trình bày chính.
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. Nếu muốn tất cả các trang trình bày tiêu đề đều có giao diện nhất định, chẳng hạn như bạn có thể chỉnh sửa mẫu bố cục tiêu đề.
Ngoài ra còn có hai loại trang khác là trang ghi chú và trang ghi chú chính, chủ yếu liên quan đến việc xử lý ghi chú của người nói.
Kiểu và cấu trúc đại diện API
Phần này mô tả cách mô hình khái niệm của Google Trang trình bày (như mô tả ở trên) được thể hiện trong API Trang trình bày.
Sơ đồ sau đây mô tả mối quan hệ giữa các bản trình bày, trang và thành phần trang dưới dạng các loại trong API Trang trình bày:
Các phần sau đây cho thấy cách các loại này được biểu thị 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
Trang bao gồm một tập hợp các thuộc tính và chứa các phần tử trang 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
Thành phần 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, bao gồm một trường thay đổi 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, được xác định bởi trường hợp 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ử | Mô tả |
---|---|
Nhóm | Một nhóm các phần tử trang được coi là một đơn vị riêng lẻ. Bạn có thể di chuyển, điều chỉnh tỷ lệ và xoay các đối tượng này cùng một lúc. |
Hình dạng | Một đối tượng hình ảnh đơ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, đây là các thành phần trang phổ biến nhất để tạo trang trình bày. |
Hình ảnh | Một hình ảnh được nhập vào Trang trình bày. |
Video | Video được nhập vào Trang trình bày. |
Line | Đường thẳng, đường cong hoặc đường kết nối. |
Bảng | Lưới nội dung. |
WordArt | Một phần tử văn bản trực quan hoạt động giống như một hình dạng. |
SheetsChart | Biểu đồ được nhập vào Trang trình bày từ Google Trang tính. |
Thuộc tính trang và phần tử trang
Trang trình bày API cho phép bạn đọc và cập nhật giao diện của các trang và thành phần 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 để kiểm soát cách hiển thị phần tử trang.
Mỗi loại phần tử trang đều 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ó một loại phần tử trang là Hình dạng
- Trường thuộc tính của lớp này là shapeProperties
- Yêu cầu cập nhật các thuộc tính này là UpdateShapePropertiesRequest
Mỗi loại phần tử trang đều có cùng một nhóm yêu cầu phần tử/thuộc tính/cập nhật: Hình ảnh/imageProperties/UpdateImageProperties, v.v.
Bạn có thể đọc thuộc tính thuộc tính bất cứ khi nào bạn gặp thuộc tính này khi đọc một phần tử; để thay đổi các giá trị trong thuộc tính này, hãy sử dụng thuộc tính này 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:
Thuộc tính | 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 cách sử dụ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 bạn 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 | Phần tử tô màu thể hiện việc kết xuất không gian trống bên trong một đối tượng. Loại màu tô được hỗ trợ phổ biến nhất trong Trang trình bày là màu tô đồng nhất, trong đó nội thất của một đố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 đại diện cho tập hợp các đường bao quanh phần tử trang. Màu của các đường được kiểm soát bằng một lớp Đổ màu. Phương thức gọi cũng có thể điều chỉnh chiều rộng và kiểu nét đứt của đường viền. |
Shadow | Bóng thể hiện một hiệu ứng hình ảnh nhằm mô phỏng bóng thực tế do đối tượng tạo ra. Hiện tại, bóng trong API Trang trình bày chỉ có thể đọc. |
Cập nhật thuộc tính
Để 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. Các yêu cầu này chấp nhận thông báo đầy đủ về thuộc tính và có thể sử dụng mặt nạ trường để xác định những trường nào trong thông báo về thuộc tính cần được cập nhật.
Thừa kế thuộc tính
Một trang hoặc phần tử trang có thể kế thừa các thuộc tính từ các đối tượng mẹ. Các thuộc tính của đố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, xác định giao diện hình ảnh cuối cùng của đối tượng.
- Thuộc tính trang – 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 trang tổng thể mà trang dựa trên đó.
- Thuộc tính hình dạng – Bạn có thể đánh dấu một hình dạng là phần giữ chỗ, cho phép bạn tham chiếu rõ ràng một hình dạng phần giữ chỗ khác (trên bố cục gốc hoặc bố cục chính của trang) để kế thừa các thuộc tính.
Những ý tưởng này được giải thích thêm trong các đoạn sau.
Kế thừa thuộc tính trang
Cấu trúc của các trang trình bày, bố cục và trang trình bày mẫu xác định 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ừ trang trình bày mẫu. Bố cục mẹ và bố cục tổng thể của một 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, chẳng hạn như nền và bảng phối màu từ trang mẹ. Để kế thừa một thuộc tính, trang con chỉ cần không đặt giá trị cho thuộc tính đó trong thông báo PageProperties. Bằng cách không "ghi đè" giá trị do phần tử mẹ xác định, trang sẽ chấp nhận giá trị kế thừa.
Sơ đồ sau đây cho thấy một trang trình bày kế thừa các thuộc tính từ một bố cục kế thừa từ một bố cục chính:
Các thuộc tính dùng để hiển thị một trang trình bày là sự kết hợp của các thuộc tính mà trang trình bày xác định và các thuộc tính mà trang trình bày kế thừa. Trong ví dụ này, các giá trị đã phân giải dùng để hiển thị Trang trình bày 1 như sau:
- PropertyA là "Đỏ".
- PropertyB là "Cam".
Kế thừa thuộc tính hình dạng
Các hình dạng có thể kế thừa các thuộc tính, chẳng hạn như màu nền, đường viền hoặc bóng từ các hình dạng khác. Hình dạng là 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 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 tổng thể có thể đóng vai trò là phần giữ chỗ mẹ của phần giữ chỗ của bố cục.
Khi xác định được hệ phân cấp kế thừa này, 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 việc kế thừa các thuộc tính giữa ba phần giữ chỗ có trong một trang trình bày, một bố cục và một bố cục chính:
Các thuộc tính dùng để hiển thị hình dạng phần giữ chỗ là tổ hợp của các thuộc tính mà phần giữ chỗ xác định và các thuộc tính mà phần giữ chỗ kế thừa. Trong ví dụ này, các giá trị đã phân giải cho các hình dạng này như sau:
- Phần giữ chỗ 1: propertyA được hiển thị là "Yellow" (Vàng), propertyB là "Green" (Xanh lục).
- Placeholder2: propertyA được hiển thị là "Yellow" (Vàng), propertyB là "Purple" (Tím).
- Placeholder3: propertyA được hiển thị là "Yellow" (Vàng), propertyB là "Purple" (Tím).
Hình dạng là loại phần tử trang duy nhất có thể có 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ẹ.
"Ẩn" các thuộc tính bằng PropertyState
Lệnh liệt kê PropertyState kiểm soát xem thuộc tính của một hình dạng có thực sự được dùng để kết xuất hay không, hoặc liệu giá trị đó có chỉ được dùng để kế thừa bởi các hình dạng con hay không. Một thuộc tính có trạng thái thuộc tính NOT_RENDERED
sẽ không được sử dụng khi hiển thị hình dạng trên trang của thuộc tính đó, tuy nhiên, các 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 việc kế thừa các thuộc tính giữa ba phần giữ chỗ thao tác với trường PropertyState:
Trường PropertyState có thể ảnh hưởng đến việc kết xuất các thuộc tính hình dạng. Trong ví dụ này, các giá trị đã phân giải cho các hình dạng này như sau:
- Phần giữ chỗ 1: propertyA được hiển thị là "Đỏ".
- Placeholder2: propertyA không được hiển thị. Nếu đây là thuộc tính đường viền, thì phần giữ chỗ 2 sẽ không có đường viền.
- Placeholder3: propertyA không được hiển thị.
Còn một giá trị nữa có thể có trong tập hợp PropertyState: trạng thái thuộc tính INHERIT
có nghĩa là chính trạng thái thuộc tính được kế thừa và bạn nên sử dụng giá trị của thuộc tính 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
.