Salah satu aplikasi Google Slide API yang berguna adalah menggabungkan informasi dari satu atau beberapa sumber data ke dalam presentasi slide yang menggunakan template.
Halaman ini menguraikan cara mengambil data dari sumber eksternal dan menyisipkannya ke dalam presentasi template yang ada. Konsepnya mirip dengan mail merge menggunakan pengolah kata dan spreadsheet.
Ada beberapa alasan mengapa pendekatan ini berguna:
Desainer dapat dengan mudah menyempurnakan desain presentasi menggunakan editor Google Slide. Hal ini jauh lebih mudah daripada menyesuaikan parameter di aplikasi Anda untuk menetapkan desain slide yang dirender.
Memisahkan konten dari presentasi adalah prinsip desain yang terkenal dan memiliki banyak manfaat.
Resep dasar
Berikut adalah contoh cara menggunakan Slide API untuk menggabungkan data ke dalam presentasi:
Buat presentasi seperti yang Anda inginkan menggunakan konten placeholder untuk membantu Anda dalam desain.
Untuk setiap elemen konten yang akan Anda sisipkan, ganti konten placeholder dengan tag. Tag adalah kotak teks atau bentuk dengan string unik. Pastikan untuk menggunakan string yang kemungkinan tidak akan muncul secara normal. Misalnya,
{{account-holder-name}}mungkin merupakan tag yang baik.Dalam kode Anda, gunakan Google Drive API untuk membuat salinan presentasi.
Dalam kode Anda, gunakan metode Slide API's
batchUpdate, dengan kumpulan permintaanreplaceAllText, untuk melakukan semua penggantian teks di seluruh presentasi. GunakanreplaceAllShapesWithImagepermintaan untuk melakukan penggantian gambar di seluruh presentasi.
Setelah membuat presentasi dengan tag di dalamnya, pastikan untuk membuat salinan dan menggunakan Slide API untuk memanipulasi salinan tersebut. Jangan gunakan Slide API untuk memanipulasi salinan "template" utama Anda!
Bagian berikut menyertakan cuplikan kode yang menggambarkan beberapa proses ini. Anda juga dapat menonton video di atas untuk melihat contoh lengkap (Python) yang menggabungkan beberapa konsep dari setiap bagian di bawah.
Menggabungkan teks
Anda dapat menggunakan replaceAllText
permintaan untuk mengganti semua kemunculan string teks tertentu dalam
presentasi dengan teks baru. Untuk penggabungan, hal ini lebih sederhana daripada menemukan dan mengganti setiap kemunculan teks satu per satu. Salah satu alasan mengapa ini adalah pendekatan yang paling canggih adalah karena ID elemen halaman sulit diprediksi, terutama saat kolaborator menyempurnakan dan mempertahankan presentasi template.
Contoh
Contoh ini menggunakan Drive API untuk menyalin presentasi template, sehingga membuat instance presentasi baru. Kemudian, contoh ini menggunakan Google Sheets API untuk membaca data dari spreadsheet Sheets, dan akhirnya menggunakan Slide API untuk memperbarui presentasi baru.
Contoh ini mengambil data dari 3 sel dalam satu baris rentang bernama di spreadsheet. Kemudian, data tersebut diganti ke dalam presentasi di mana pun
string {{customer-name}},
{{case-description}}, atau
{{total-portfolio}} muncul.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Menggabungkan gambar
Anda juga dapat menggabungkan gambar ke dalam presentasi menggunakan a
replaceAllShapesWithImage
permintaan. Permintaan ini mengganti semua kemunculan bentuk yang berisi string teks yang diberikan dengan gambar yang diberikan. Permintaan ini secara otomatis memosisikan dan menskalakan gambar agar sesuai dengan batas bentuk tag sambil mempertahankan rasio aspek gambar.
Contoh
Contoh ini menggunakan Google Drive API untuk menyalin presentasi template, sehingga membuat instance presentasi baru. Kemudian, contoh ini menggunakan Slide API untuk menemukan
bentuk apa pun dengan teks {{company-logo}}
dan menggantinya dengan gambar logo perusahaan. Permintaan ini juga mengganti
bentuk apa pun 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
Permintaan replaceAllText
dan replaceAllShapesWithImage
berguna untuk mengganti tag di seluruh presentasi, tetapi
terkadang Anda hanya perlu mengganti elemen menurut kriteria lain, seperti
berada di slide tertentu.
Dalam kasus ini, Anda harus mengambil ID bentuk tag yang ingin diganti. Untuk penggantian teks, Anda menghapus teks yang ada dalam bentuk tersebut , lalu menyisipkan teks baru (lihat contoh Mengedit teks dalam bentuk tertentu).
Penggantian gambar lebih kompleks. Untuk menggabungkan gambar, Anda harus:
- Mendapatkan ID bentuk tag.
- Menyalin informasi ukuran dan transformasi dari tag.
- Menambahkan gambar ke halaman, menggunakan informasi ukuran dan transformasi.
- Menghapus bentuk tag.
Mempertahankan rasio aspek gambar sambil menskalakannya ke ukuran yang diinginkan mungkin memerlukan perhatian khusus, seperti yang dijelaskan di bagian berikut. Lihat juga contoh ini: Mengganti tag bentuk dengan gambar.
Mempertahankan rasio aspek
Saat Anda membuat gambar menggunakan Slide API, penyesuaian aspek hanya didasarkan pada ukuran gambar, bukan pada data ukuran dan transformasi. Data ukuran yang Anda berikan
dalam createImage
permintaan dianggap sebagai ukuran gambar yang diinginkan. API menyesuaikan rasio aspek gambar dengan ukuran yang diinginkan ini, lalu menerapkan transformasi yang diberikan.
Saat mengganti tag dengan gambar, Anda mempertahankan rasio aspek gambar dengan menetapkan ukuran dan penskalaan gambar sebagai berikut:
- width: ditetapkan ke hasil perkalian
widthdanscaleXtag - height: ditetapkan ke hasil perkalian
heightdanscaleYtag - scale_x: ditetapkan ke
1 - scale_y: ditetapkan ke
1
Hal ini menyebabkan Slide API menyesuaikan aspek gambar sesuai dengan ukuran visual
tag, bukan ukuran yang tidak diskalakan (lihat
Mengganti tag bentuk dengan gambar).
Menetapkan parameter penskalaan ke 1 mencegah gambar diskalakan dua kali.
Pengaturan ini memastikan rasio aspek gambar dipertahankan, dan mencegah gambar melebihi ukuran bentuk tag. Gambar memiliki titik tengah yang sama dengan bentuk tag.
Mengelola template
Untuk presentasi template yang ditentukan dan dimiliki aplikasi, buat template menggunakan akun khusus yang mewakili aplikasi. Akun layanan adalah pilihan yang baik dan menghindari komplikasi dengan kebijakan Google Workspace yang membatasi berbagi.
Saat membuat instance presentasi dari template, selalu gunakan kredensial pengguna akhir. Hal ini memberi pengguna kontrol penuh atas presentasi yang dihasilkan dan mencegah masalah penskalaan terkait batas per pengguna di Google Drive.
Untuk membuat template menggunakan akun layanan, lakukan langkah-langkah berikut dengan kredensial aplikasi:
- Buat presentasi menggunakan presentations.create di Slide API.
- Perbarui izin untuk mengizinkan penerima presentasi membacanya menggunakan permissions.create di Drive API.
- Perbarui izin untuk mengizinkan penulis template menulis ke presentasi menggunakan permissions.create di Drive API.
- Edit template sesuai kebutuhan.
Untuk membuat instance presentasi, lakukan langkah-langkah berikut dengan kredensial pengguna:
- Buat salinan template menggunakan files.copy di Drive API.
- Ganti nilai menggunakan presentation.batchUpdate di Slide API.