Jednym z przydatnych zastosowań interfejsu Google Slides API jest scalanie informacji z co najmniej jednego źródła danych w szablonie prezentacji.
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 korespondencji seryjnej tworzonej za pomocą procesora tekstu i arkusza kalkulacyjnego.
To podejście jest przydatne z kilku powodów:
Projektanci mogą łatwo dostosować wygląd prezentacji za pomocą edytora Prezentacji Google. Jest to znacznie prostsze niż dostosowywanie parametrów w aplikacji w celu ustawienia projektu renderowanego slajdu.
Oddzielenie treści od prezentacji to znana zasada projektowania, która ma wiele zalet.
Podstawowy przepis
Oto przykład użycia interfejsu Slides API do scalania danych w prezentacji:
Utwórz prezentację w sposób, w jaki ma się ona wyświetlać, używając treści zastępczych, które pomogą Ci w projektowaniu.
W przypadku każdego elementu treści, który chcesz wstawić, zastąp tekst zastępczy 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ą normalnie. Na przykład tag
{{account-holder-name}}
może być dobrym wyborem.W kodzie użyj interfejsu Google Drive API, aby utworzyć kopię prezentacji.
W kodzie użyj metody
batchUpdate
interfejsu Slides API z zestawem żądańreplaceAllText
, aby wykonać wszystkie zamiany tekstu w prezentacji. Użyj żądańreplaceAllShapesWithImage
, aby zastąpić obrazy w całej prezentacji.
Po utworzeniu prezentacji z tagami koniecznie zrób jej kopię i użyj interfejsu Slides API, aby ją zmodyfikować. Nie używaj interfejsu Slides API do manipulowania główną kopią „szablonu”.
W sekcjach poniżej znajdziesz fragmenty kodu, które ilustrują niektóre z tych procesów. Możesz też obejrzeć powyższy film, aby zobaczyć pełny przykład (w języku Python) łą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 poszczególnych wystąpień tekstu. Jest to najbardziej zaawansowane podejście, ponieważ identyfikatory elementów strony są trudne do przewidzenia, zwłaszcza gdy współpracownicy dopracowują i utrzymują prezentację szablonu.
Przykład
W tym przykładzie używamy interfejsu Drive API do skopiowania prezentacji szablonu i utworzenia nowej instancji prezentacji. Następnie używa interfejsu Google Sheets API do odczytywania danych z arkusza kalkulacyjnego, a na koniec interfejsu Slides API do aktualizowania nowej prezentacji.
Przykład pobiera dane z 3 komórek w jednym wierszu nazwanego zakresu w arkuszu kalkulacyjnym. Następnie wstawia te dane do prezentacji wszędzie tam, gdzie występują ciągi znaków {{customer-name}}
, {{case-description}}
lub {{total-portfolio}}
.
Google Apps Script
Przeczytaj
Java
JavaScript
Node.js
PHP
Python
Ruby
Scalanie obrazów
Możesz też scalić obrazy w prezentacji za pomocą replaceAllShapesWithImage
. To żądanie zastępuje wszystkie kształty zawierające podany ciąg tekstowy podanym obrazem. Żądanie automatycznie umieszcza i skaluje obraz, aby dopasować go do granic kształtu tagu, zachowując przy tym proporcje obrazu.
Przykład
W tym przykładzie używamy interfejsu Google Drive API do skopiowania prezentacji szablonu, 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 tekstem {{customer-graphic}}
z innym obrazem.
Google Apps Script
Przeczytaj
Java
JavaScript
Node.js
PHP
Python
Ruby
Zastępowanie konkretnych instancji 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. znajdujące się na określonym 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 skomplikowane. Aby scalić obraz, musisz:
- Uzyskaj identyfikator kształtu tagu.
- Skopiuj z tagu informacje o rozmiarze i przekształceniu.
- Dodaj obraz do strony, korzystając z informacji o rozmiarze i przekształceniu.
- Usuń kształt tagu.
Zachowanie formatu obrazu podczas skalowania go do żądanego rozmiaru może wymagać pewnej ostrożności, co opisujemy w sekcji poniżej. Zobacz też ten przykład: Zastępowanie tagu kształtu obrazem.
Zachowaj format obrazu
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 żądaniu createImage
są traktowane jako pożądany rozmiar obrazu. Interfejs API dopasowuje format obrazu do tego rozmiaru, a następnie stosuje podaną transformację.
Podczas zastępowania tagu obrazem zachowujesz proporcje obrazu, ustawiając jego rozmiar i skalowanie w ten sposób:
- width: ustaw na iloczyn wartości
width
iscaleX
tagu. - height: ustaw na iloczyn wartości
height
iscaleY
tagu. - scale_x: ustawiono na
1
- scale_y: ustawiono na
1
Spowoduje to dopasowanie obrazu do proporcji zgodnie z wizualnym rozmiarem tagu, a nie jego rozmiarem bez skalowania (patrz Zastępowanie tagu kształtu obrazem).
Ustawienie parametrów skalowania na 1
zapobiega dwukrotnemu skalowaniu obrazu.
Dzięki temu proporcje obrazu zostaną zachowane, a obraz nie przekroczy rozmiaru kształtu tagu. Obraz ma ten sam punkt środkowy co kształt tagu.
Zarządzaj szablonami
W przypadku prezentacji szablonów zdefiniowanych i należących do aplikacji utwórz szablon za pomocą dedykowanego konta reprezentującego aplikację. Konta usługi są dobrym wyborem i pozwalają uniknąć komplikacji związanych z zasadami Google Workspace, które ograniczają udostępnianie.
Gdy tworzysz instancje prezentacji na podstawie szablonów, zawsze używaj danych logowania użytkownika. Daje to użytkownikom pełną kontrolę nad prezentacją i zapobiega problemom ze skalowaniem związanym z limitami na użytkownika na Dysku Google.
Aby utworzyć szablon za pomocą konta usługi, wykonaj te czynności, używając danych logowania aplikacji:
- Utwórz prezentację za pomocą metody presentations.create w interfejsie Slides API.
- Zaktualizuj uprawnienia, aby umożliwić odbiorcom prezentacji odczytanie jej za pomocą metody permissions.create w interfejsie Drive API.
- Zaktualizuj uprawnienia, aby umożliwić autorom szablonów zapisywanie w nim danych za pomocą metody permissions.create w interfejsie Drive API.
- W razie potrzeby zmień szablon.
Aby utworzyć instancję prezentacji, wykonaj te czynności przy użyciu danych logowania użytkownika:
- Utwórz kopię szablonu za pomocą metody files.copy w interfejsie Drive API.
- Zastąp wartości za pomocą metody presentation.batchUpdate w interfejsie Slides API.