Jednym z przydatnych zastosowań interfejsu Google Slides API jest scalanie informacji z co najmniej 1 źródła danych w prezentacji opartej na szablonie.
Na tej stronie dowiesz się, jak pobrać dane ze źródła zewnętrznego i wstawić je do istniejącej prezentacji opartej na szablonie. Koncepcja jest podobna do kreatora e-maili z użyciem procesora tekstu i arkusza kalkulacyjnego.
Istnieje kilka powodów, dla których to podejście jest przydatne:
Projektanci mogą łatwo dopracować wygląd prezentacji za pomocą edytora Prezentacji Google. Jest to znacznie łatwiejsze niż dostosowywanie parametrów w aplikacji w celu ustawienia wyglądu renderowanego slajdu.
Oddzielenie treści od prezentacji to znana zasada projektowania, która ma wiele zalet.
Podstawowy przepis
Oto przykład, jak możesz użyć interfejsu Slides API do scalania danych w prezentacji:
Utwórz prezentację w taki sposób, w jaki ma się ona wyświetlać, używając treści zastępczej, która pomoże Ci w projektowaniu.
W przypadku każdego elementu treści, który będziesz wstawiać, zastąp treść zastępczą tagiem. Tagi to pola tekstowe lub kształty z unikalnym ciągiem znaków. Używaj ciągów znaków, które raczej nie występują w normalnym tekście. Dobrym tagiem może być na przykład
{{account-holder-name}}.W kodzie użyj interfejsu Google Drive API, aby utworzyć kopię prezentacji.
W kodzie użyj metody interfejsu Slides API
batchUpdatez zestawem żądańreplaceAllText, aby wykonać wszystkie zamiany tekstu w prezentacji. UżyjreplaceAllShapesWithImageżądania, aby zastąpić obrazy w całej prezentacji.
Gdy utworzysz prezentację z tagami, utwórz jej kopię i użyj interfejsu Slides API, aby nią manipulować. Nie używaj interfejsu Slides API do manipulowania główną kopią „szablonu”.
W kolejnych sekcjach znajdziesz fragmenty kodu, które ilustrują część tego procesu. Możesz też obejrzeć powyższy film, aby zobaczyć kompletny przykład (w Pythonie) łączący kilka koncepcji z poszczególnych sekcji poniżej.
Scalanie tekstu
Możesz użyć żądania replaceAllText
aby zastąpić wszystkie wystąpienia danego ciągu tekstowego w
prezentacji nowym tekstem. W przypadku scalania jest to prostsze niż wyszukiwanie i zastępowanie każdego wystąpienia tekstu osobno. Jednym z powodów, dla których jest to najbardziej zaawansowane podejście, jest to, że identyfikatory elementów strony są trudne do przewidzenia, zwłaszcza gdy współpracownicy dopracowują i utrzymują prezentację opartą na szablonie.
Przykład
Ten przykład używa interfejsu Drive API do skopiowania prezentacji opartej na szablonie, tworząc nową instancję prezentacji. Następnie używa interfejsu Google Sheets API do odczytywania danych z arkusza kalkulacyjnego Arkuszy, a na koniec używa interfejsu Slides API do zaktualizowania nowej prezentacji.
Przykład pobiera dane z 3 komórek w jednym wierszu zakresu nazwanego w arkuszu kalkulacyjnym. Następnie zastępuje te dane w prezentacji wszędzie tam, gdzie występują
ciągi znaków {{customer-name}},
{{case-description}}, lub
{{total-portfolio}}.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Scalanie obrazów
Możesz też scalić obrazy w prezentacji za pomocą żądania
replaceAllShapesWithImage. To żądanie zastępuje wszystkie wystąpienia kształtów zawierających podany ciąg tekstowy podanym obrazem. Żądanie automatycznie ustawia i skaluje obraz, aby pasował do granic kształtu tagu, zachowując przy tym proporcje obrazu.
Przykład
Ten przykład używa interfejsu Google Drive API do skopiowania prezentacji opartej na szablonie, tworząc nową instancję prezentacji. Następnie używa interfejsu Slides API, aby znaleźć
dowolny kształt z tekstem {{company-logo}}
i zastąpić go obrazem logo firmy. Żądanie zastępuje też dowolny
kształt z tekstem {{customer-graphic}}
innym obrazem.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Zastępowanie konkretnych wystąpień pola tekstowego lub obrazu
Żądania replaceAllText
i replaceAllShapesWithImage
są przydatne do zastępowania tagów w całej prezentacji, ale
czasami trzeba zastąpić elementy według innych kryteriów, np.
według ich położenia na konkretnym slajdzie.
W takich przypadkach musisz pobrać identyfikatory kształtów tagów, które chcesz zastąpić. W przypadku zastępowania tekstu usuń istniejący tekst w tych kształtach, a następnie wstaw nowy tekst (zobacz przykład Edytowanie tekstu w określonym kształcie).
Zastępowanie obrazów jest bardziej złożone. Aby scalić obraz, musisz:
- pobrać identyfikator kształtu tagu;
- skopiować informacje o rozmiarze i przekształceniu z tagu;
- dodać obraz do strony, używając informacji o rozmiarze i przekształceniu;
- usunąć kształt tagu.
Zachowanie proporcji obrazu podczas skalowania go do żądanego rozmiaru może wymagać pewnej ostrożności, jak opisano w następnej sekcji. Zobacz też ten przykład: Zastępowanie tagu kształtu obrazem.
Zachowywanie proporcji
Gdy tworzysz obrazy za pomocą interfejsu Slides API, dopasowanie proporcji zależy tylko od rozmiaru obrazu, a nie od rozmiaru i danych przekształcenia. Dane o rozmiarze podane
w createImage
żądaniu są traktowane jako żądany rozmiar obrazu. Interfejs API dopasowuje proporcje obrazu do tego żądanego rozmiaru, a następnie stosuje podane przekształcenie.
Podczas zastępowania tagu obrazem zachowujesz proporcje obrazu, ustawiając jego rozmiar i skalowanie w ten sposób:
- width: ustaw na iloczyn
widthiscaleXtagu; - height: ustaw na iloczyn
heightiscaleYtagu; - scale_x: ustaw na
1; - scale_y: ustaw na
1
Powoduje to, że interfejs Slides API dopasowuje proporcje obrazu do
wizualnego rozmiaru tagu, a nie do jego rozmiaru bez skalowania (zobacz
Zastępowanie tagu kształtu obrazem).
Ustawienie parametrów skalowania na 1 zapobiega dwukrotnemu skalowaniu obrazu.
Dzięki temu proporcje obrazu są zachowywane, a obraz nie przekracza rozmiaru kształtu tagu. Obraz ma ten sam punkt środkowy co kształt tagu.
Zarządzanie szablonami
W przypadku prezentacji opartych na szablonach, które są zdefiniowane i należą do aplikacji, utwórz szablon za pomocą dedykowanego konta reprezentującego aplikację. Konta usługi są dobrym rozwiązaniem i pozwalają uniknąć komplikacji związanych z zasadami Google Workspace, które ograniczają udostępnianie.
Podczas tworzenia instancji prezentacji na podstawie szablonów zawsze używaj danych logowania użytkownika. Dzięki temu użytkownicy mają pełną kontrolę nad wynikową prezentacją i unikają problemów ze skalowaniem związanych z limitami na użytkownika na Dysku Google.
Aby utworzyć szablon za pomocą konta usługi, wykonaj te czynności z użyciem danych logowania aplikacji:
- Utwórz prezentację za pomocą presentations.create w interfejsie Slides API.
- Zaktualizuj uprawnienia, aby umożliwić odbiorcom prezentacji jej odczytanie, za pomocą permissions.create w interfejsie Drive API.
- Zaktualizuj uprawnienia, aby umożliwić autorom szablonu zapisywanie w nim, za pomocą metody permissions.create w interfejsie Drive API.
- W razie potrzeby edytuj szablon.
Aby utworzyć instancję prezentacji, wykonaj te czynności z użyciem danych logowania użytkownika:
- Utwórz kopię szablonu za pomocą files.copy w interfejsie Drive API.
- Zastąp wartości za pomocą presentation.batchUpdate w interfejsie Slides API.