Halaman, Elemen Halaman, dan Properti

Untuk menggunakan Slides API secara efektif, Anda perlu memahami arsitektur presentasi dan komponennya, serta interaksi antara komponen tersebut. Halaman ini memberikan ringkasan mendetail tentang topik-topik berikut:

  • Model konseptual komponen presentasi
  • Cara API merepresentasikan komponen ini
  • Menata gaya properti komponen

Membaca ringkasan konsep ini dan konsep lainnya akan mempermudah Anda memahami dan menggunakan panduan cara melakukannya, dokumentasi referensi, dan contoh resep.

Presentasi, halaman, dan elemen halaman

Elemen penampung terluar di Google Slide adalah presentasi. Ini adalah unit yang dapat disimpan di Google Drive, dibagikan kepada pengguna lain, dan sebagainya.

Setiap presentasi berisi berbagai jenis halaman. Salah satu jenis halaman adalah slide, yaitu halaman yang dilihat dan dibuka pengguna saat presentasi ditampilkan di layar.

Setiap halaman berisi sejumlah elemen halaman, yang bersama-sama membentuk konten halaman, seperti yang ditunjukkan dalam diagram berikut:

diagram arsitektur slide

Selain slide, ada jenis halaman lain yang memungkinkan Anda menerapkan desain ke banyak slide yang berbeda, sehingga menciptakan tampilan yang konsisten. Jenis halaman lainnya ini adalah master dan tata letak, dan propertinya menentukan cara slide dirender, seperti yang ditunjukkan dalam diagram berikut:

diagram arsitektur tema

Master — Halaman master memiliki dua tujuan. Penampung di slide master berisi gaya teks default yang digunakan di seluruh presentasi Anda. Latar belakang dan bentuk lain pada slide master membentuk latar belakang default untuk semua slide berdasarkan master tersebut. Jika Anda memiliki logo perusahaan yang ingin ditampilkan di setiap slide dalam presentasi, letakkan di slide master.

Tata Letak — Template tata letak menentukan cara konten disusun pada setiap jenis slide. Jika Anda ingin semua slide judul terlihat dengan cara tertentu, misalnya, Anda dapat mengedit template tata letak judul.

Ada dua jenis halaman lagi—halaman catatan dan master catatan—yang sebagian besar relevan untuk menggunakan catatan pembicara.

Jenis dan struktur representasi API

Bagian ini menjelaskan cara model konseptual Google Slide, seperti yang dijelaskan di atas, direpresentasikan dalam Slides API.

Diagram berikut menggambarkan hubungan antara presentasi, halaman, dan elemen halaman sebagai jenis dalam Slides API:

diagram gaya ERD

Bagian berikut menunjukkan cara jenis ini direpresentasikan dalam JSON.

Presentasi

Presentasi mencakup sejumlah properti, dan berisi halaman yang ada di dalamnya:

{
  "presentationId": string,
  "pageSize": { object(Size) },
  "slides": [ { object(Page) } ],
  "title": string,
  "masters": [ { object(Page) } ],
  "layouts": [ { object(Page) } ],
  "notesMaster": object(Page),
  "locale": string,
}

Halaman

Halaman mencakup sekumpulan properti, dan berisi elemen halaman yang ada di dalamnya:

{
  "objectId": string,
  "pageType": enum(PageType),
  "pageElements": [ { object(PageElement) } ],
  "pageProperties": { object(PageProperties) },

  // Union field properties can be only one of the following:
  "slideProperties": { object(SlideProperties) },
  "layoutProperties": { object(LayoutProperties) },
  "notesProperties": { object(NotesProperties) },
  // End of list of possible types for union field properties.
}

Elemen halaman

Elemen halaman adalah komponen visual yang ditempatkan di halaman. Elemen halaman di API berisi sejumlah properti, termasuk kolom yang bervariasi menurut jenis elemen halaman:

{
  "objectId": string,
  "size": { object(Size) },
  "transform": { object(AffineTransform) },
  "title": string,
  "description": string,

  // Union field element_kind can be only one of the following:
  "elementGroup": { object(Group) },
  "shape": { object(Shape) },
  "image": { object(Image) },
  "video": { object(Video) },
  "line": { object(Line) },
  "table": { object(Table) },
  "wordArt": { object(WordArt) },
  "sheetsChart": { object(SheetsChart) },
  // End of list of possible types for union field element_kind.
}

Ada beberapa jenis elemen halaman, sebagaimana ditentukan oleh kolom gabungan element_kind dalam definisi di atas. Jenis elemen halaman ini dijelaskan dalam tabel berikut:

Jenis elemen Deskripsi
Grup Kumpulan elemen halaman yang diperlakukan sebagai satu unit. Objek tersebut dapat dipindahkan, diskalakan, dan diputar bersama-sama.
Bentuk Objek visual biasa, seperti persegi panjang, elips, dan kotak teks. Bentuk dapat berisi teks, sehingga menjadi elemen halaman yang paling umum untuk membuat slide.
Gambar Grafik yang diimpor ke Slide.
Video Video yang diimpor ke Slide.
Garis Garis, kurva, atau penghubung visual.
Tabel Petak konten.
WordArt Elemen teks visual yang berperilaku lebih seperti bentuk.
SheetsChart Diagram yang diimpor ke Slide dari Google Spreadsheet.

Properti halaman dan elemen halaman

Slides API memungkinkan Anda membaca dan memperbarui tampilan halaman dan elemen halaman dalam presentasi Anda. Elemen halaman yang berbeda mendukung properti yang berbeda yang mengontrol cara elemen halaman dirender.

Setiap jenis elemen halaman memiliki elemen properti yang sesuai dan pesan update properti, misalnya:

Set elemen/properti/permintaan pembaruan yang sama ada untuk setiap jenis elemen halaman: Image/imageProperties/UpdateImageProperties, dan sebagainya.

Anda dapat membaca atribut properti di mana pun Anda menemuinya saat membaca elemen; untuk mengubah nilai di dalamnya, gunakan dengan jenis permintaan yang cocok sebagai payload untuk metode batchUpdate, sehingga Anda dapat mengubah nilai ini dalam presentasi.

Jenis properti

Ada beberapa properti yang umum di antara beberapa jenis objek di Slides API:

Properti Deskripsi
Warna Warna di Slides API dapat berupa nilai RGB atau referensi ke warna tema. Warna tema dirujuk berdasarkan nama (misalnya "DARK1") dan dapat dipetakan ke nilai RGB menggunakan skema warna halaman. Skema warna ini biasanya diperbarui saat mengubah tema presentasi di editor Slide.
Isi Pengisian mewakili rendering ruang kosong di dalam objek. Pengisian yang paling umum didukung di Slide adalah pengisian solid, di mana bagian dalam objek diisi dengan satu warna solid. Pengisi juga dapat digunakan untuk latar belakang Halaman.
Garis batas Garis batas mewakili sekumpulan garis yang mengelilingi elemen halaman. Warna garis dikontrol dengan Pengisi. Penelepon juga dapat menyesuaikan lebar dan gaya garis putus-putus dari garis batas.
Bayangan Bayangan mewakili efek visual yang dimaksudkan untuk meniru bayangan fisik yang dibentuk oleh objek. Saat ini, bayangan di Slides API bersifat hanya baca.

Memperbarui properti

Untuk memperbarui properti, gunakan permintaan Update...Properties yang sesuai dalam panggilan batchUpdate—misalnya, UpdateShapeProperties untuk Bentuk. Permintaan ini menerima pesan properti lengkap dan dapat menggunakan mask kolom untuk menentukan kolom mana dalam pesan properti yang harus diperbarui.

Warisan properti

Halaman atau elemen halaman dapat mewarisi properti dari objek induknya. Properti objek, termasuk properti yang ditentukan dan yang diwariskan, menentukan tampilan visual akhirnya.

  • Properti halaman — Halaman mewarisi properti apa pun yang tidak ditentukan, tetapi ditentukan dalam tata letak atau master yang menjadi dasarnya.
  • Properti bentuk — Bentuk dapat ditandai sebagai tempat penampung, sehingga Anda dapat secara eksplisit merujuk bentuk tempat penampung lain (pada tata letak induk atau master halaman) yang propertinya akan diwarisi.

Ide ini dijelaskan lebih lanjut dalam paragraf berikut.

Pewarisan properti halaman

Struktur slide, tata letak, dan master menentukan hierarki pewarisan dalam presentasi: slide mewarisi dari tata letak, dan tata letak mewarisi dari master. Tata letak induk dan master slide ditentukan di kolom slideProperties slide.

Halaman dapat mewarisi properti, seperti latar belakang dan skema warna, dari halaman induk. Untuk mewarisi properti, halaman turunan cukup tidak menetapkan nilai untuk properti tersebut dalam pesan PageProperties-nya. Dengan tidak "mengganti" nilai yang ditentukan oleh induk, halaman menerima nilai yang diwarisi.

Diagram berikut menunjukkan slide yang mewarisi properti dari tata letak, yang mewarisi dari master:

warisan properti slide

Properti yang digunakan untuk merender slide adalah kombinasi dari properti yang ditentukan dan properti yang diwariskan. Dalam contoh ini, nilai yang di-resolve yang digunakan untuk merender Slide 1 adalah sebagai berikut:

  • PropertyA adalah "Merah".
  • PropertyB adalah "Orange".

Pewarisan properti bentuk

Bentuk dapat mewarisi properti, seperti pengisi, garis batas, atau bayangan, dari bentuk lain. Bentuk adalah placeholder jika kolom Shape.placeholder ditetapkan. Kolom Shape.placeholder.parentObjectId placeholder turunan mengidentifikasi placeholder induknya. Saat Anda membuat slide baru berdasarkan tata letak, semua placeholder dalam tata letak tersebut akan muncul sebagai bentuk turunan di slide baru. Demikian pula, placeholder di halaman master dapat bertindak sebagai induk dari placeholder tata letak.

Dengan hierarki pewarisan ini ditentukan, halaman turunan mewarisi properti dengan tidak menetapkan nilai tersebut dalam pesan ShapeProperties-nya. Dengan tidak mengganti nilai yang ditentukan oleh induk, bentuk turunan menerima nilai yang diwarisi.

Diagram berikut menunjukkan pewarisan properti antara tiga tempat penampung yang ada dalam slide, tata letak, dan master:

pewarisan properti bentuk

Properti yang digunakan untuk merender bentuk placeholder adalah kombinasi dari properti yang ditentukan dan yang diwariskan. Dalam contoh ini, nilai yang di-resolve untuk bentuk tersebut adalah sebagai berikut:

  • Placeholder1: propertyA dirender sebagai "Kuning", propertyB sebagai "Hijau".
  • Placeholder2: propertyA dirender sebagai "Kuning", propertyB sebagai "Ungu".
  • Placeholder3: propertyA dirender sebagai "Kuning", propertyB sebagai "Ungu".

Bentuk adalah satu-satunya jenis elemen halaman yang dapat memiliki induk. Jenis lain, seperti gambar, tabel, dan diagram, tidak dapat menjadi placeholder dan tidak dapat memiliki induk.

Menyembunyikan properti menggunakan PropertyState

Enumerasi PropertyState mengontrol apakah properti bentuk benar-benar digunakan untuk rendering, atau apakah nilai hanya digunakan untuk pewarisan oleh bentuk turunan. Properti dengan status properti NOT_RENDERED tidak akan digunakan saat merender bentuk di halamannya, tetapi turunan yang memiliki status properti RENDERED yang sesuai masih dapat mewarisi properti ini.

Diagram berikut menunjukkan pewarisan properti antara tiga placeholder yang memanipulasi kolom PropertyState:

status dan pewarisan properti

Rendering properti bentuk dapat dipengaruhi oleh kolom PropertyState. Dalam contoh ini, nilai yang diselesaikan untuk bentuk ini adalah sebagai berikut:

  • Placeholder1: propertyA dirender sebagai "Merah".
  • Placeholder2: propertyA tidak dirender. Jika ini adalah properti garis batas, Placeholder2 tidak akan memiliki garis batas.
  • Placeholder3: propertyA tidak dirender.

Ada satu lagi kemungkinan nilai enumerasi PropertyState: status properti INHERIT berarti bahwa status properti itu sendiri diwarisi, dan nilai induk harus digunakan. Bentuk tanpa induk tidak dapat memiliki status properti INHERIT.