Salah satu penerapan Google Slides API yang berguna adalah menggabungkan informasi dari satu atau lebih sumber data ke dalam {i>slide deck<i} dengan template.
Halaman ini menjelaskan bagaimana Anda dapat mengambil data dari sumber eksternal dan memasukkannya ke dalam presentasi {i>template<i} yang sudah ada. Konsepnya adalah mirip dengan pembuatan email massal yang menggunakan pengolah kata dan spreadsheet.
Ada beberapa alasan mengapa pendekatan ini berguna:
Sangat mudah bagi desainer untuk menyempurnakan desain presentasi menggunakan editor Google Slide. Ini jauh lebih mudah daripada menyesuaikan parameter aplikasi Anda untuk mengatur desain {i>slide<i} yang dirender.
Memisahkan konten dari presentasi adalah desain yang sudah dikenal prinsip dengan banyak manfaat.
Resep dasar
Berikut contoh cara menggunakan Slides API untuk menggabungkan data ke dalam presentasi:
Buat presentasi sesuai keinginan Anda dengan menggunakan konten {i>placeholder<i} untuk membantu Anda mendesain.
Untuk setiap elemen konten yang akan Anda sisipkan, ganti placeholder konten dengan tag. {i>Tag<i} adalah kotak teks atau bentuk dengan {i>string<i} yang unik. Pastikan untuk menggunakan string yang cenderung tidak muncul secara normal. Misalnya,
{{account-holder-name}}
mungkin adalah tag yang bagus.Di kode Anda, gunakan Google Drive API untuk membuat salinan presentasi.
Dalam kode Anda, gunakan Slides API
batchUpdate
, dengan serangkaianreplaceAllText
permintaan, untuk melakukan semua penggantian teks di seluruh presentasi. GunakanreplaceAllShapesWithImage
permintaan untuk melakukan penggantian gambar selama presentasi.
Setelah Anda membuat presentasi yang berisi tag, pastikan untuk membuat salinannya dan menggunakan Slides API untuk memanipulasi salinan. Jangan gunakan Slides API untuk memanipulasi "template" utama Anda salin!
Bagian berikut menyertakan cuplikan kode yang mengilustrasikan beberapa di antaranya {i>checkout<i}. Anda juga dapat menonton video di atas untuk melihat contoh lengkap (Python) yang menggabungkan beberapa konsep dari masing-masing bagian di bawah ini.
Gabungkan teks
Anda dapat menggunakan replaceAllText
untuk mengganti semua instance string teks tertentu dalam
presentasi dengan teks baru. Untuk penggabungan, ini lebih sederhana daripada
menemukan dan mengganti setiap {i>instance<i}
teks secara individual. Salah satu alasannya adalah
pendekatan yang paling canggih adalah ID elemen halaman sulit diprediksi,
terutama saat para kolaborator menyempurnakan dan menjaga {i>template<i}
presentasi.
Contoh
Contoh ini menggunakan Drive API untuk menyalin presentasi template, sehingga contoh presentasi yang baru. Kemudian menggunakan Google Sheets API untuk membaca data dari spreadsheet, dan terakhir menggunakan Slides API untuk memperbarui presentasi baru.
Contoh ini mengambil data dari 3 sel yang berada di satu baris rentang bernama di
{i>spreadsheet<i}. Kemudian mengganti data tersebut ke dalam presentasi di mana pun
string {{customer-name}}
,
{{case-description}}
, atau
{{total-portfolio}}
terjadi.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Gabungkan gambar
Anda juga dapat menggabungkan gambar ke dalam presentasi menggunakan
replaceAllShapesWithImage
permintaan. Permintaan ini menggantikan semua instance bentuk yang berisi
menyediakan string teks dengan gambar yang disediakan. Permintaan secara otomatis
memosisikan dan menskalakan gambar agar pas dengan batas bentuk tag sembari
mempertahankan rasio aspek gambar.
Contoh
Contoh ini menggunakan Google Drive API untuk menyalin presentasi template, sehingga
contoh presentasi yang baru. Lalu, {i>slide<i} menggunakan Slides API
untuk menemukan
bentuk apa pun dengan teks {{company-logo}}
dan menggantinya dengan
gambar logo perusahaan. Permintaan ini juga menggantikan
bentuk dengan teks {{customer-graphic}}
dengan gambar yang berbeda.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Mengganti instance kotak teks atau gambar tertentu
replaceAllText
dan replaceAllShapesWithImage
berguna untuk mengganti tag di seluruh presentasi, tetapi
terkadang Anda hanya perlu mengganti elemen sesuai dengan kriteria lain, seperti
yang berada di slide tertentu.
Dalam hal ini, Anda harus mengambil ID dari bentuk tag yang Anda ingin diganti. Untuk penggantian teks, Anda dapat menghapus teks dalam bentuk tersebut, lalu sisipkan teks baru (lihat contoh Mengedit teks dalam bentuk tertentu).
Penggantian gambar lebih kompleks. Untuk menggabungkan gambar, Anda perlu:
- Dapatkan ID bentuk tag.
- Salin informasi ukuran dan transformasi dari tag.
- Tambahkan gambar Anda ke halaman, menggunakan informasi ukuran dan transformasi.
- Hapus bentuk tag.
Mempertahankan rasio aspek gambar saat menskalakannya ke ukuran yang diinginkan dapat memerlukan kehati-hatian, seperti yang dijelaskan di bagian berikut. Lihat juga contoh ini: Mengganti tag bentuk dengan gambar.
Pertahankan rasio aspek
Saat Anda membuat gambar menggunakan Slides API, kesesuaian aspek hanya didasarkan pada
ukuran gambar, bukan pada ukuran dan data transformasi. Data ukuran yang Anda berikan
di createImage
dianggap sebagai ukuran gambar yang diinginkan. API sesuai dengan
rasio aspek gambar ke ukuran yang diinginkan, lalu menerapkan transformasi yang disediakan.
Saat mengganti tag dengan gambar, Anda mempertahankan aspek gambar dengan mengatur ukuran dan penskalaan gambar sebagai berikut:
- width: disetel ke produk
width
danscaleX
tag - height: ditetapkan ke produk
height
danscaleY
tag - scale_x: ditetapkan ke
1
- scale_y: ditetapkan ke
1
Hal ini menyebabkan Slides API menyesuaikan aspek gambar menurut
ukuran visual tag, daripada ukuran yang tidak diskalakan (lihat
Mengganti tag bentuk dengan gambar).
Menyetel parameter penskalaan ke 1
akan mencegah gambar diskalakan
dua kali.
Pengaturan ini memastikan rasio aspek gambar dipertahankan, dan mencegah gambar agar tidak melebihi ukuran bentuk {i>tag<i}. Gambar ini berisi titik tengah yang sama dengan bentuk tag.
Kelola template
Untuk presentasi template yang ditentukan dan dimiliki aplikasi, buat {i>template<i} menggunakan akun khusus yang mewakili aplikasi. Akun layanan adalah pilihan yang baik dan menghindari masalah dengan kebijakan Google Workspace yang membatasi berbagi.
Saat Anda membuat {i>instance<i} presentasi dari {i>template<i}, selalu gunakan kredensial pengguna akhir. Hal ini memberi pengguna kontrol penuh atas presentasi yang dihasilkan dan mencegah masalah penskalaan yang terkait dengan batas penyimpanan di Google Drive.
Untuk membuat template menggunakan akun layanan, lakukan langkah-langkah berikut dengan kredensial aplikasi:
- Buat presentasi menggunakan presentations.create di Slides API.
- Perbarui izin untuk mengizinkan penerima presentasi membacanya menggunakan permissions.create di Drive API.
- Perbarui izin untuk mengizinkan penulis template menulis ke template tersebut menggunakan permissions.create di Drive API.
- Edit template sesuai kebutuhan.
Untuk membuat instance presentasi, lakukan langkah-langkah berikut dengan kredensial pengguna:
- Buat salinan {i>template<i} menggunakan files.copy di Drive API.
- Ganti nilai menggunakan presentation.batchUpdate di Slides API.