Strony, elementy strony i właściwości

Aby skutecznie korzystać z interfejsu Slides API, musisz zrozumieć architekturę prezentacji i jej komponentów oraz interakcje między nimi. Na tej stronie znajdziesz szczegółowe omówienie tych tematów:

  • Model koncepcyjny komponentów prezentacji
  • Sposób reprezentowania tych komponentów przez interfejs API
  • Właściwości stylów komponentów

Zapoznanie się z tymi i innymi omówieniami koncepcji ułatwi Ci zrozumienie i korzystanie z przewodników, z dokumentacji referencyjnej i z przykładowych kodów.

Prezentacje, strony i elementy strony

Najbardziej zewnętrznym elementem kontenera w Prezentacjach Google jest prezentacja. Jest to jednostka, którą można zapisać na Dysku Google, udostępnić innym użytkownikom itp.

Każda prezentacja zawiera różne typy stron. Jednym z typów stron jest a slajd, czyli strony, które użytkownicy widzą i między którymi się przełączają, gdy prezentacja jest renderowana na ekranie.

Każda strona zawiera szereg elementów strony, które razem tworzą zawartość strony, jak pokazano na tym schemacie:

schemat architektury Prezentacji,

Oprócz slajdów istnieją też inne typy stron, które pozwalają stosować projekt do wielu różnych slajdów, tworząc spójny wygląd. Te inne typy stron to wzorce i układy, a ich właściwości określają sposób renderowania slajdów, jak pokazano na tym schemacie:

Schemat architektury motywów

Wzorce – strona wzorcowa służy do 2 celów. Symbole zastępcze we wzorcu zawierają domyślne style tekstu używane w całej prezentacji. Tło i inne kształty na slajdzie wzorcowym tworzą domyślne tło wszystkich slajdów opartych na tym wzorcu. Jeśli chcesz, aby logo firmy pojawiało się na każdym slajdzie w prezentacji, umieść je we wzorcu.

Układy – szablony układów określają sposób rozmieszczenia treści na każdym typie slajdu. Jeśli chcesz, aby wszystkie slajdy tytułowe wyglądały w określony sposób, możesz na przykład edytować szablon układu tytułu.

Istnieją jeszcze 2 rodzaje stron – strony notatek i wzorce notatek – które są przydatne głównie do pracy z notatkami prelegenta.

Typy i struktura reprezentacji interfejsu API

W tej sekcji opisujemy, jak model koncepcyjny Prezentacji Google opisany powyżej jest reprezentowany w interfejsie Slides API.

Ten schemat przedstawia relacje między prezentacjami, stronami i elementami strony jako typami w interfejsie Slides API:

diagram w stylu ERD

W kolejnych sekcjach pokazujemy, jak te typy są reprezentowane w formacie JSON.

Prezentacje

Prezentacja zawiera szereg właściwości i stron:

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

Strony

Strona zawiera zestaw właściwości i elementów strony:

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

Elementy strony

Elementy strony to komponenty wizualne umieszczane na stronach. Element strony w interfejsie API zawiera szereg właściwości, w tym pole, które różni się w zależności od rodzaju elementu strony:

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

Istnieje kilka rodzajów elementów strony, które są zdefiniowane przez pole unii element_kind w definicji powyżej. Te rodzaje elementów strony opisujemy w tej tabeli:

Rodzaj elementu Opis
Grupa Zestaw elementów strony, które są traktowane jako pojedyncza jednostka. Można je razem przesuwać, skalować i obracać.
Kształt Prosty obiekt wizualny, np. prostokąty, elipsy i pola tekstowe. Kształty mogą zawierać tekst, dlatego są najczęściej używanymi elementami strony do tworzenia slajdów.
Obraz Grafika zaimportowana do Prezentacji.
Wideo Film zaimportowany do Prezentacji.
Liniowy Linia, krzywa lub łącznik.
Tabela Siatka treści.
WordArt Wizualny element tekstowy, który zachowuje się bardziej jak kształt.
SheetsChart Wykres zaimportowany do Prezentacji z Arkuszy Google.

Właściwości strony i elementów strony

Interfejs Slides API umożliwia odczytywanie i aktualizowanie wyglądu stron i elementów strony w prezentacji. Różne elementy strony obsługują różne właściwości, które określają sposób renderowania elementu strony.

Każdy rodzaj elementu strony ma odpowiadający mu element właściwości i komunikat o aktualizacji właściwości, np.:

Ten sam zestaw elementu, właściwości i żądania aktualizacji istnieje dla każdego typu elementu strony: Obraz/imageProperties/UpdateImageProperties, itd.

Atrybut properties możesz odczytać wszędzie, gdzie go napotkasz podczas odczytywania elementu. Aby zmienić jego wartości, użyj go z pasującym typem żądania jako ładunku metody batchUpdate, co pozwoli Ci zmienić te wartości w prezentacji.

Rodzaje właściwości

Niektóre właściwości są wspólne dla kilku rodzajów obiektów w interfejsie Slides API:

Właściwość Opis
Kolor Kolory w interfejsie Slides API mogą być wartością RGB lub odwołaniem do koloru motywu. Kolory motywu są określane według nazwy (np. „DARK1”) i można je mapować na wartości RGB za pomocą schematu kolorów strony. Ten schemat kolorów jest zwykle aktualizowany podczas zmiany motywu prezentacji w edytorze Prezentacji.
Wypełnienie Wypełnienie reprezentuje renderowanie pustej przestrzeni wewnątrz obiektu. Najczęściej obsługiwane wypełnienie w Prezentacjach to wypełnienie jednolite, w którym wnętrze obiektu jest wypełnione jednolitym kolorem. Wypełnienia można też używać jako tła stron.
Kontur Kontur reprezentuje zestaw linii otaczających element strony. Kolor linii jest określany za pomocą wypełnienia. Wywołujący mogą też dostosować szerokość i styl kreskowania konturów.
Cień Cień to efekt wizualny, który ma imitować fizyczny cień rzucany przez obiekt. Obecnie cienie w interfejsie Slides API są tylko do odczytu.

Aktualizowanie właściwości

Aby zaktualizować właściwość, użyj odpowiedniego Update...Properties żądania w wywołaniu batchUpdate, np. UpdateShapeProperties w przypadku kształtów. Te żądania akceptują pełny komunikat o właściwościach i mogą używać masek pól do określania, które pola w komunikacie o właściwościach mają zostać zaktualizowane.

Dziedziczenie w usługach

Strona lub element strony może dziedziczyć właściwości z obiektów nadrzędnych. Właściwości obiektu, w tym te, które definiuje, i te, które dziedziczy, określają jego ostateczny wygląd.

  • Właściwości strony – strona dziedziczy wszystkie właściwości, których nie definiuje, ale które są zdefiniowane w układzie lub wzorcu, na którym jest oparta.
  • Właściwości kształtu – kształt można oznaczyć jako symbol zastępczy, co pozwala na wyraźne odwoływanie się do innego kształtu symbolu zastępczego (w układzie nadrzędnym lub wzorcu strony), z którego mają być dziedziczone właściwości.

Te pomysły są dokładniej wyjaśnione w kolejnych akapitach.

Dziedziczenie właściwości strony

Struktura slajdów, układów i wzorców definiuje hierarchię dziedziczenia w prezentacji: slajdy dziedziczą z układów, a układy dziedziczą ze wzorców. Układ nadrzędny i wzorzec slajdu są określone w polu slideProperties slajdu.

Strona może dziedziczyć właściwości, takie jak tło i schemat kolorów, ze strony nadrzędnej. Aby dziedziczyć właściwość, strona podrzędna po prostu nie ustawia wartości tej właściwości w PageProperties. Nie „zastępując” wartości zdefiniowanej przez element nadrzędny, strona akceptuje odziedziczoną wartość.

Ten schemat przedstawia slajd dziedziczący właściwości z układu, który dziedziczy ze wzorca:

dziedziczenie właściwości slajdu,

Właściwości używane do renderowania slajdu to połączenie właściwości, które definiuje, i tych, które dziedziczy. W tym przykładzie wartości używane do renderowania slajdu 1 są następujące:

  • PropertyA to „Czerwony”.
  • PropertyB to „Pomarańczowy”.

Dziedziczenie właściwości kształtu

Kształty mogą dziedziczyć właściwości, takie jak wypełnienie, kontur lub cień, z innych kształtów. Kształt jest symbolem zastępczym , jeśli ustawione jest jego Shape.placeholder. Pole Shape.placeholder.parentObjectId podrzędnego symbolu zastępczego identyfikuje jego nadrzędny symbol zastępczy. Gdy tworzysz nowy slajd na podstawie układu, wszystkie symbole zastępcze w tym układzie pojawiają się jako kształty podrzędne na nowym slajdzie. Podobnie symbole zastępcze na stronach wzorcowych mogą pełnić rolę elementów nadrzędnych symboli zastępczych układów.

Po zdefiniowaniu tej hierarchii dziedziczenia strona podrzędna dziedziczy właściwość, nie ustawiając jej wartości w komunikacie ShapeProperties. Nie zastępując wartości zdefiniowanej przez element nadrzędny, kształt podrzędny akceptuje odziedziczoną wartość.

Ten schemat przedstawia dziedziczenie właściwości między 3 symbolami zastępczymi, które znajdują się na slajdzie, w układzie i we wzorcu:

dziedziczenie właściwości kształtu,

Właściwości używane do renderowania kształtu symbolu zastępczego to połączenie właściwości, które definiuje, i tych, które dziedziczy. W tym przykładzie wartości tych kształtów są następujące:

  • Symbol zastępczy 1: właściwośćA jest renderowana jako „Żółty”, a właściwośćB jako „Zielony”.
  • Symbol zastępczy 2: właściwośćA jest renderowana jako „Żółty”, a właściwośćB jako „Fioletowy”.
  • Symbol zastępczy 3: właściwośćA jest renderowana jako „Żółty”, a właściwośćB jako „Fioletowy”.

Kształty to jedyny typ elementu strony, który może mieć elementy nadrzędne. Inne typy, takie jak obrazy, tabele i wykresy, nie mogą być symbolami zastępczymi ani mieć elementów nadrzędnych.

„Ukrywanie” właściwości za pomocą PropertyState

Wyliczenie PropertyState określa, czy właściwość kształtu jest rzeczywiście używana do renderowania, czy też wartość jest używana tylko do dziedziczenia przez kształty podrzędne. Właściwość ze stanem właściwości NOT_RENDERED nie będzie używana podczas renderowania kształtu na stronie, ale elementy podrzędne, które mają odpowiedni stan właściwości RENDERED mogą nadal dziedziczyć tę właściwość.

Ten schemat przedstawia dziedziczenie właściwości między 3 symbolami zastępczymi, które manipulują polem PropertyState:

stan usługi i dziedziczenie,

Na renderowanie właściwości kształtu może mieć wpływ pole PropertyState. W tym przykładzie wartości tych kształtów są następujące:

  • Symbol zastępczy 1: właściwośćA jest renderowana jako „Czerwony”.
  • Symbol zastępczy 2: właściwośćA nie jest renderowana. Jeśli byłaby to właściwość konturu, symbol zastępczy 2 nie miałby konturu.
  • Symbol zastępczy 3: właściwośćA nie jest renderowana.

Istnieje jeszcze jedna możliwa wartość wyliczenia PropertyState: stan INHERIT oznacza, że sam stan właściwości jest dziedziczony i należy użyć wartości elementu nadrzędnego. Kształty bez elementów nadrzędnych nie mogą mieć stanu INHERIT.