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

Aby skutecznie korzystać z interfejsu Prezentacji Google, musisz znać architekturę prezentacji i ich komponenty, a także interakcje między tymi komponentami. Na tej stronie znajdziesz szczegółowe omówienie tych tematów:

  • Model koncepcyjny komponentów prezentacji
  • Jak interfejs API reprezentuje te komponenty
  • Właściwości stylu komponentów

Czytanie tego i pozostałych omówień ułatwi zrozumienie i korzystanie z instrukcji, dokumentacji referencyjnej oraz przykładów przepisów.

Prezentacje, strony i elementy stron

Najbardziej zewnętrznym elementem kontenera w Prezentacjach Google jest prezentacja. Tę jednostkę można zapisać na Dysku Google, udostępnić innym użytkownikom itd.

Każda prezentacja zawiera różne typy stron. Jednym z typów stron są slajdy, czyli strony, które użytkownicy widzą i przełączają się między nimi podczas renderowania prezentacji na ekranie.

Każda strona zawiera wiele elementów strony, które razem tworzą jej treść, jak widać na tym diagramie:

schemat architektury slajdów

Poza slajdami są też inne typy stron, za pomocą których można wykorzystać projekt na wielu różnych slajdach w celu zapewnienia spójnego wyglądu. Inne typy stron to szablony i układy. Ich właściwości określają sposób renderowania slajdów, jak widać na tym diagramie:

schemat architektury motywów

Elementy nadrzędne – strona główna spełnia dwa zadania. Obiekty zastępcze w szablonie głównym zawierają wartości domyślne stylów tekstu używanych w całej prezentacji. Tło i pozostałe kształty na slajdzie głównym tworzą domyślne tło dla wszystkich slajdów utworzonych na podstawie tego wzorca. Jeśli masz logo firmy, które ma się pojawiać na każdym slajdzie, umieść je na slajdzie głównym.

Układy – szablony układu określają sposób układu treści na poszczególnych typach slajdów. Jeśli chcesz na przykład, żeby wszystkie slajdy tytułowe wyglądały w określony sposób, możesz edytować szablon układu tytułu.

Istnieją jeszcze dwa rodzaje stron – strony z notatkami i główne strony notatek – które przydają się przede wszystkim w pracy z notatkami.

Typy i struktura reprezentacji interfejsu API

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

Poniższy diagram przedstawia relacje między prezentacjami, stronami i elementami stron jako typy w interfejsie Prezentacji API:

schemat ERd

Poniższe sekcje pokazują, jak te typy są przedstawiane w formacie JSON.

Prezentacje

Prezentacja składa się z kilku właściwości i zawiera zawarte w niej strony:

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

Pages

Strona zawiera zestaw właściwości oraz zawarte na niej elementy:

{
  "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 umieszczone 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 zostały zdefiniowane w polu sumy element_kind w powyższej definicji. Te rodzaje elementów strony zostały opisane w tej tabeli:

Rodzaj elementu Opis
Grupa Zestaw elementów strony traktowanych jako pojedyncze jednostki. Można je jednocześnie przesuwać, skalować i obracać.
Kształt Zwykły obiekt wizualny, np. prostokąty, wielokropki i pola tekstowe. Kształty mogą zawierać tekst, dlatego są one najczęściej wykorzystywanymi elementami stron do tworzenia slajdów.
Obraz Grafika zaimportowana do Prezentacji.
Wideo Film zaimportowany do Prezentacji.
Liniowy Wizualna linia, krzywa lub połączenie.
Tabela Siatka treści.
WordArt Element tekstowy, który zachowuje się bardziej jak kształt.
SheetsChart Wykres zaimportowany do Prezentacji z Arkuszy Google.

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

Interfejs Prezentacji Prezentacje pozwala odczytywać i aktualizować wygląd stron i ich elementów w prezentacji. Różne elementy strony obsługują różne właściwości, które kontrolują sposób renderowania elementu strony.

Każdemu rodzajowi elementu strony odpowiada element właściwości, a komunikat o aktualizacji właściwości, np.:

Dla każdego typu elementu strony istnieje ten sam zestaw żądań elementu/właściwości/aktualizacji: Image/imageProperties/UpdateImageProperties itd.

Atrybut właściwości możesz odczytać przy odczytywaniu elementu. Aby zmienić zawarte w nim wartości, użyj go z pasującym typem żądania jako ładunku w metodzie batchUpdate, co pozwoli Ci zmieniać te wartości w prezentacji.

Rodzaje usług

Oto kilka właściwości, które są wspólne dla kilku rodzajów obiektów w interfejsie Prezentacji API:

Właściwość Opis
Kolor Kolory w interfejsie Prezentacji API mogą być wartością RGB lub odwołaniem do koloru motywu. Kolory motywu są określane przez nazwę (np. „DARK1”) i można je zmapować 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 wyrenderowanie pustej przestrzeni wewnątrz obiektu. Najczęściej obsługiwanym wypełnieniem w Prezentacjach jest jednolite wypełnienie, czyli wnętrze obiektu wypełnione jednym jednolitym kolorem. Wypełnień można też używać jako tła stron.
Konspekt Kontur to zestaw linii, które otaczają element strony. Kolorem linii można kontrolować za pomocą funkcji Wypełnienie. Rozmówcy mogą też dostosować szerokość i styl konturów.
Cień Cienie to efekt wizualny, który ma naśladować fizyczny cień rzucany przez obiekt. Obecnie cienie w interfejsie Prezentacji API są tylko do odczytu.

Aktualizowanie właściwości

Aby zaktualizować właściwość, użyj odpowiedniego żądania Update...Properties w wywołaniu batchUpdate, np. UpdateShapeProperties w przypadku Kształtów. Te żądania akceptują komunikat z pełnymi właściwościami i mogą używać masek pól do określania, które pola komunikatu dotyczącego właściwości należy zaktualizować.

Dziedziczenie w usługach

Strona lub jej element może dziedziczyć właściwości z obiektów nadrzędnych. Właściwości wizualnego obiektu – w tym zdefiniowane przez niego i dziedziczone przez niego właściwości – określają jego ostateczny wygląd.

  • Właściwości strony – strona dziedziczy właściwości, których nie definiuje, ale które są zdefiniowane w układzie lub w wzorcu, na których jest oparty.
  • Właściwości kształtu – kształt możesz oznaczyć jako obiekt zastępczy, co umożliwia jednoznaczne odwoływanie się do innego kształtu zastępczego (w układzie nadrzędnym lub wzorcu strony), z którego mają dziedziczyć właściwości.

Wyjaśnienie tych kwestii znajdziesz w kolejnych akapitach.

Dziedziczenie właściwości strony

Struktura slajdów, układów i elementów głównych definiuje hierarchię dziedziczenia w prezentacji: slajdy dziedziczą układy, a układy – z nadrzędnych. Nadrzędny układ i wzorcowy slajd są określone w polu slideProperties danego slajdu.

Strona może dziedziczyć ze strony nadrzędnej właściwości takie jak tło i schemat kolorów. Aby dziedziczyć właściwość, strona podrzędna nie ustawia dla niej wartości w komunikacie PageProperties. Strona nie zastępuje wartości zdefiniowanej przez element nadrzędny, więc akceptuje ją.

Poniższy diagram przedstawia właściwości dziedziczenia slajdu z układu dziedziczonego z szablonu głównego:

dziedziczenie właściwości slajdu

Właściwości używane do renderowania slajdu są połączeniem właściwości zdefiniowanych przez niego i dziedziczonych. W tym przykładzie obliczone wartości użyte do renderowania Slajdu 1 są następujące:

  • Właściwość PropertyA ma kolor „czerwony”.
  • Właściwość B jest „pomarańczowa”.

Dziedziczenie właściwości kształtu

Kształty mogą dziedziczyć z innych kształtów właściwości takie jak wypełnienie, kontur lub cień. Kształt jest obiektem zastępczym, jeśli jego pole Shape.placeholder jest ustawione. Pole Shape.placeholder.parentObjectId obiektu podrzędnego określa jego nadrzędny obiekt zastępczy. Gdy tworzysz nowy slajd na podstawie układu, wszystkie obiekty zastępcze w tym układzie pojawiają się na nowym slajdzie jako kształty podrzędne. Również obiekty zastępcze na stronach głównych mogą pełnić funkcję obiektów nadrzędnych wobec obiektów zastępczych układów.

Po zdefiniowaniu tej hierarchii dziedziczenia strona podrzędna dziedziczy właściwość przez nieustawianie tej wartości w komunikacie ShapeProperties. Jeśli nie zastępujesz wartości zdefiniowanej przez element nadrzędny, kształt podrzędny akceptuje odziedziczoną wartość.

Na diagramie poniżej widać dziedziczenie właściwości między 3 obiektami zastępczymi zawartymi na slajdzie, w układzie i w elemencie nadrzędnym:

dziedziczenie właściwości kształtu

Właściwości używane do renderowania kształtu zastępczego to połączenie zdefiniowanych przez niego i odziedziczonych. W tym przykładzie rozwiązane wartości tych kształtów są następujące:

  • Obiekt zastępczy 1: właściwość A jest renderowana jako „żółta”, a usługaB – „zielona”.
  • Obiekt zastępczy 2: właściwość A jest renderowana jako „żółty”, a usługaB – „fioletowy”.
  • Obiekt zastępczy 3: właściwość A jest renderowana jako „żółty”, a usługaB – „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ć zmienne i nie mogą mieć elementów nadrzędnych.

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

Wyliczenie PropertyState określa, czy właściwość kształtu jest rzeczywiście używana do renderowania czy tylko do dziedziczenia kształtów podrzędnych. Właściwość o stanie usługi NOT_RENDERED nie będzie używana do renderowania kształtu na jej stronie, ale elementy podrzędne, które mają odpowiedni stan właściwości RENDERED, nadal mogą ją dziedziczyć.

Na diagramie poniżej widać dziedziczenie właściwości między 3 obiektami zastępczymi, które modyfikują pole PropertyState:

stan i dziedziczenie usługi

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

  • Obiekt zastępczy1: właściwośćA jest renderowana jako „Czerwony”.
  • Obiekt zastępczy2: właściwośćA nie jest renderowana. Gdyby to była właściwość outline, placeholder2 nie miałby żadnego obrysu.
  • Obiekt zastępczy3: właściwośćA nie jest renderowana.

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