Jednym z przydatnych zastosowań interfejsu Google Slides API jest scalanie informacji z jednego lub większej liczby źródeł danych w szablonie prezentacji.
Na tej stronie dowiesz się, jak pobrać dane z zewnętrznego źródła i wstawić je do istniejącego szablonu prezentacji. Zasada jest podobna do korespondencji seryjnej tworzonej za pomocą procesora tekstu i arkusza kalkulacyjnego.
Jest kilka powodów, dla których to podejście jest przydatne:
Projektanci mogą łatwo dostosować projekt prezentacji za pomocą edytora Prezentacji Google. Jest to znacznie łatwiejsze niż dostosowanie parametrów w aplikacji w celu ustawienia renderowanego projektu slajdu.
Oddzielenie treści od ich prezentacji to znana zasada projektowania, która niesie ze sobą wiele korzyści.
Podstawowy przepis
Oto przykład użycia interfejsu Slides API do scalania danych w prezentacji:
Utwórz prezentację w postaci, w której ma się ona wyświetlać, używając treści zastępczych, które ułatwią Ci projektowanie.
W przypadku każdego elementu treści, który chcesz wstawić, zastąp zawartość 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 rzadko występują w normalnych warunkach. Na przykład tag
{{account-holder-name}}
może być dobrym tagiem.W kodzie użyj interfejsu API Dysku Google, aby utworzyć kopię prezentacji.
W kodzie użyj metody
batchUpdate
interfejsu Slides API wraz z zestawem żądańreplaceAllText
, aby przeprowadzić wszystkie zamiany tekstu w prezentacji. Użyj żądańreplaceAllShapesWithImage
, aby zastąpić obrazy w całej prezentacji.
Po utworzeniu prezentacji z tagami utwórz jej kopię i użyj interfejsu Slides API, aby ją zmodyfikować. Nie używaj interfejsu Slides API do manipulowania główną kopią „szablonu”!
W następnych sekcjach znajdziesz fragmenty kodu, które pokazują niektóre etapy 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.
Scal tekst
Możesz użyć żądania replaceAllText
, aby zastąpić wszystkie wystąpienia danego ciągu tekstowego w prezentacji nowym tekstem. W przypadku łączenia jest to prostsze niż znajdowanie i zastępowanie poszczególnych wystąpień tekstu. 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 dostosowują i utrzymywają prezentację szablonu.
Przykład
W tym przykładzie interfejs Drive API służy do kopiowania szablonu prezentacji, tworząc nową instancję prezentacji. Następnie używa interfejsu Google Sheets API do odczytania danych z arkusza kalkulacyjnego w Arkuszach, a na koniec używa interfejsu Slides API do zaktualizowania nowej prezentacji.
Przykład pobiera dane z 3 komórek w jednym wierszu zakresu o nazwie w arkuszu kalkulacyjnym. Następnie zastępuje te dane w prezentacji w miejscach, w których występują ciągi znaków {{customer-name}}
, {{case-description}}
lub {{total-portfolio}}
.
Google Apps Script
Przeczytaj
Java
JavaScript
Node.js
PHP
Python
Ruby
Scal obrazy
Możesz też scalić obrazy z prezentacją, wysyłając prośbę replaceAllShapesWithImage
. To żądanie zastępuje wszystkie wystąpienia kształtów zawierających podany ciąg tekstowy podany obrazem. Żądanie automatycznie umieszcza i skaluje obraz, aby pasował do kształtu tagu, zachowując przy tym jego proporcje.
Przykład
W tym przykładzie interfejs API Dysku Google służy do kopiowania szablonu prezentacji, tworząc nową instancję prezentacji. Następnie za pomocą interfejsu Slides API znajduje dowolny kształt z tekstem {{company-logo}}
i zastępuje go obrazem logo firmy. Żądanie zastępuje również dowolny kształt z tekstem {{customer-graphic}}
innym obrazem.
Google Apps Script
Przeczytaj
Java
JavaScript
Node.js
PHP
Python
Ruby
Zastępowanie konkretnych pól tekstowych lub wystąpień obrazu
Zapytania replaceAllText
i replaceAllShapesWithImage
są przydatne do zastępowania tagów w całej prezentacji, ale czasami wystarczy zastąpić elementy według innych kryteriów, takich jak lokalizacja 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 usuwasz istniejący tekst w tych kształtach, a następnie wstawiasz nowy tekst (patrz przykład Edytuj tekst w określonym kształcie).
Zastępowanie obrazów jest bardziej skomplikowane. Aby scalić obraz, wykonaj te czynności:
- Uzyskaj identyfikator kształtu tagu.
- Skopiuj z tagu informacje o rozmiarze i transformacji.
- Dodaj obraz do strony, korzystając z informacji o rozmiarze i przekształceniu.
- Usuń kształt tagu.
Zachowanie formatu obrazu podczas skalowania go do odpowiedniego rozmiaru może wymagać nieco uwagi, jak opisano 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 transformacji. Dane rozmiaru podane w prośbie createImage
są uznawane za docelowy rozmiar obrazu. Interfejs API dopasowuje format obrazu do wybranego rozmiaru, a następnie stosuje podaną przez użytkownika transformację.
Podczas zastępowania tagu obrazem zachowujesz jego format obrazu, ustawiając rozmiar i skalowanie w następujący sposób:
- width: ustawiona na iloczyn wartości atrybutów
width
iscaleX
tagu. - height: ustaw na iloczyn wartości
height
iscaleY
tagu. - scale_x: ustawiono na
1
- scale_y: ustawiono na
1
Spowoduje to, że interfejs Slides API dopasuje obraz do proporcji tagu zgodnie z jego rozmiarem wizualnym, a nie rzeczywistym rozmiarem (patrz Zastępowanie tagu kształtu obrazem).
Ustawienie parametrów skalowania na 1
uniemożliwia skalowanie obrazu dwukrotnie.
Dzięki temu zachowasz proporcje obrazu i unikniesz przekroczenia rozmiaru kształtu tagu. Obraz ma ten sam punkt środkowy co kształt tagu.
Zarządzaj szablonami
W przypadku prezentacji z szablonami zdefiniowanych i obsługiwanych przez aplikację utwórz szablon za pomocą dedykowanego konta reprezentującego aplikację. Konta usługi to dobry wybór, który pozwala uniknąć komplikacji związanych z zasadami Google Workspace ograniczającymi udostępnianie.
Podczas tworzenia wystąpień prezentacji na podstawie szablonów zawsze używaj danych logowania użytkownika końcowego. Daje to użytkownikom pełną kontrolę nad powstałą prezentacją i zapobiega problemom ze skalowaniem związanym z limitami na użytkownika w Dysku Google.
Aby utworzyć szablon za pomocą konta usługi, wykonaj te czynności przy użyciu danych logowania do aplikacji:
- Utwórz prezentację za pomocą wywołania presentations.create w interfejsie Slides API.
- Zaktualizuj uprawnienia, aby umożliwić odbiorcom prezentacji odczytywanie jej za pomocą funkcji permissions.create w interfejsie Drive API.
- Zaktualizuj uprawnienia, aby umożliwić autorom szablonów zapisywanie w nim danych za pomocą funkcji permissions.create w interfejsie Drive API.
- W razie potrzeby zmodyfikuj szablon.
Aby utworzyć instancję prezentacji, wykonaj te czynności (z użyciem danych logowania użytkownika):
- Utwórz kopię szablonu za pomocą funkcji files.copy w interfejsie Drive API.
- Zastąp wartości za pomocą metody presentation.batchUpdate w interfejsie Slides API.