Jednym z użytecznych 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ącej prezentacji na podstawie szablonu. 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 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 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 w prezentacji za pomocą prośby 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 proporcje
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 potem stosuje podawaną przez użytkownika transformację.
Podczas zastępowania tagu obrazem zachowujesz współczynnik kształtu obrazu, ustawiając jego rozmiar i skalowanie w ten 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 zgodnie z wizualnym rozmiarem tagu, a nie jego 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 na Dysku Google.
Aby utworzyć szablon za pomocą konta usługi, wykonaj te czynności, korzystając z kwalifikacji aplikacji:
- Utwórz prezentację za pomocą wywołania presentations.create w interfejsie Slides API.
- Zaktualizuj uprawnienia, aby umożliwić odbiorcom prezentacji odczytanie jej za pomocą funkcji permissions.create w interfejsie Drive API.
- Zaktualizuj uprawnienia, aby umożliwić autorom szablonów zapisywanie 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.