Przydatnym zastosowaniem interfejsu API Prezentacji Google jest scalanie informacji z jednego lub większej liczby źródeł danych w formie prezentacji opartej na szablonie.
Na tej stronie opisujemy, jak pobrać dane ze źródła zewnętrznego i wstawić je do istniejącej prezentacji szablonu. Działa on podobnie do kreatora e-maili w edytorze tekstu i arkuszu kalkulacyjnym.
Takie podejście jest przydatne z kilku powodów:
Projektanci mogą z łatwością dostroić projekt prezentacji za pomocą edytora Prezentacji Google. To znacznie łatwiejsze niż dostrajanie parametrów w aplikacji, aby ustawić wyrenderowany projekt slajdu.
Oddzielenie treści od prezentacji to dobrze znana zasada projektowania, która ma wiele zalet.
Podstawowy przepis
Ten przykład ilustruje, jak można scalić dane w prezentację przy użyciu interfejsu API Prezentacji:
Utwórz prezentację tak, jak chcesz, korzystając z zastępczych treści, które pomogą Ci w projektowaniu.
Zastąp zawartość zastępczą tagiem każdego wstawianego elementu treści. Tagi to pola tekstowe lub kształty z unikalnym ciągiem znaków. Pamiętaj, by użyć ciągów znaków, które prawdopodobnie nie wystąpią prawidłowo. Dobrym tagiem może być na przykład
{{account-holder-name}}
.W swoim kodzie utwórz kopię prezentacji za pomocą interfejsu Google Drive API.
W swoim kodzie użyj metody
batchUpdate
interfejsu Prezentacji API ze zbiorem żądańreplaceAllText
, aby dokonać zastępowania tekstu w całej prezentacji. Za pomocą żądańreplaceAllShapesWithImage
możesz zastępować obrazy w całej prezentacji.
Gdy utworzysz prezentację z tagami, skopiuj ją i użyj interfejsu Prezentacji API do opracowania jej treści. Nie używaj interfejsu Prezentacji API do manipulowania główną kopią szablonu.
Poniższe sekcje zawierają fragmenty kodu ilustrujące niektóre z tych procesów. Możesz też obejrzeć powyższy film, aby zobaczyć pełny przykład (Python) łą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 scalania jest to prostsze niż
znajdowanie i zastępowanie poszczególnych wystąpień tekstu. Powodem jest to, że jest to najbardziej zaawansowane podejście, ponieważ trudno jest przewidzieć identyfikatory elementów strony, zwłaszcza gdy współpracownicy dopracowują i utrzymują prezentację szablonu.
Przykład
W tym przykładzie użyto interfejsu Drive API do skopiowania szablonu prezentacji i utworzenia jej nowej instancji. Następnie odczytuje dane z arkusza kalkulacyjnego przez interfejs Google Arkuszy Google i używa interfejsu Prezentacji API do aktualizowania nowej prezentacji.
W tym przykładzie pobieramy 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 {{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ą za pomocą żądania replaceAllShapesWithImage
. To żądanie zastępuje wszystkie wystąpienia kształtów zawierających podany ciąg tekstowy udostępnionym obrazem. Takie żądanie automatycznie ustawia i skaluje obraz, aby mieścił się w granicach kształtu tagu przy zachowaniu współczynnika proporcji.
Przykład
W tym przykładzie użyto interfejsu Google Drive API do skopiowania szablonu prezentacji i utworzenia jej nowego wystąpienia. Następnie za pomocą interfejsu Prezentacji API znajduje dowolny kształt zawierający tekst {{company-logo}}
i zastępuje go obrazem logo firmy. Prośba zastępuje też każdy kształt tekstem {{customer-graphic}}
innym obrazem.
Google Apps Script
Przeczytaj
Java
JavaScript
Node.js
PHP
Python
Ruby
Zastępowanie określonych pól tekstowych lub wystąpień obrazu
Żądania replaceAllText
i replaceAllShapesWithImage
są przydatne przy zastępowaniu tagów w całej prezentacji, ale czasami wystarczy zastąpić elementy zgodne z innymi kryteriami, na przykład znajdować się na konkretnym slajdzie.
W takich przypadkach musisz pobrać identyfikatory kształtów tagów, które chcesz zastąpić. Aby zastąpić tekst, usuń istniejący tekst w tych kształtach i wstaw nowy (patrz przykładowy: Edytowanie tekstu o określonym kształcie).
Zastępowanie obrazów jest bardziej złożone. Aby scalić obraz na obrazie, 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 współczynnika proporcji obrazu podczas skalowania go do pożą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.
Zachowaj proporcje
Gdy tworzysz obrazy za pomocą interfejsu Prezentacji API, dopasowania aspektów zależą tylko od rozmiaru obrazu, a nie od rozmiaru i danych przekształcenia. Dane o rozmiarze podane w żądaniu createImage
są uznawane za pożądany rozmiar obrazu. Interfejs API dopasowuje współczynnik proporcji obrazu do żądanego rozmiaru, a następnie stosuje podane przekształcenie.
Zastępując tag obrazem, możesz zachować współczynnik proporcji 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: ustaw wartość
1
. - scale_y: ustaw na
1
W ten sposób interfejs Prezentacji API dopasowuje obraz do rozmiaru wizualnego tagu, a nie do nieskalowanego rozmiaru (zobacz Zastępowanie tagu kształtu obrazem).
Ustawienie parametrów skalowania na 1
zapobiega dwukrotnemu przeskalowaniu obrazu.
Dzięki temu współczynnik proporcji obrazu zostanie zachowany i zapobiegnie ono przekroczeniu rozmiaru tagu. Obraz znajduje się w tym samym punkcie środkowym co kształt tagu.
Zarządzaj szablonami
W przypadku prezentacji szablonów definiowanych i należących do aplikacji utwórz szablon za pomocą dedykowanego konta reprezentującego aplikację. Dobrym wyborem są konta usługi. Pozwalają one uniknąć komplikacji z zasadami Google Workspace, które ograniczają udostępnianie.
Gdy tworzysz instancje prezentacji na podstawie szablonów, zawsze używaj danych logowania użytkownika. Zapewnia to użytkownikom pełną kontrolę nad wynikową 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 z danymi logowania do aplikacji:
- Utwórz prezentację przy użyciu polecenia presentations.create w interfejsie Prezentacji API.
- Zaktualizuj uprawnienia, aby umożliwić odbiorcom prezentacji odczytywanie jej za pomocą polecenia permissions.create w interfejsie Drive API.
- Zaktualizuj uprawnienia, aby umożliwić autorom szablonu zapisywanie w nim za pomocą polecenia permissions.create w interfejsie Drive API.
- W razie potrzeby zmodyfikuj szablon.
Aby utworzyć instancję prezentacji, wykonaj te czynności z danymi logowania użytkownika:
- Utwórz kopię szablonu za pomocą polecenia files.copy w interfejsie Drive API.
- Zastąp wartości za pomocą polecenia presentation.batchUpdate w interfejsie API Prezentacji.