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:
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:
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:
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.:
- Dostępny jest typ elementu strony Kształt.
- Pole jego właściwości to shapeProperties.
- Prośba o zaktualizowanie tych właściwości to UpdateShapePropertiesRequest.
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:
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:
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:
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
.