Halaman, Elemen Halaman, dan Properti

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

  • Model konseptual komponen presentasi
  • Cara API mewakili komponen ini
  • Properti gaya visual komponen

Membaca artikel ini dan ringkasan konsep lainnya akan mempermudah Anda memahami dan menggunakan panduan cara kerja, 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 dibalik oleh pengguna saat presentasi dirender di layar.

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

diagram arsitektur slide

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

diagram arsitektur tema

Master — Halaman master memiliki dua tujuan. Placeholder di master berisi nilai default untuk gaya teks yang digunakan di seluruh presentasi Anda. Latar belakang dan bentuk lain apa pun di slide master membentuk latar belakang default untuk semua slide yang didasarkan pada master tersebut. Jika Anda memiliki logo perusahaan yang ingin ditampilkan di setiap {i>slide<i} dalam presentasi Anda, letakkan logo itu di master.

Tata letak — Template tata letak menentukan cara konten disusun di setiap jenis slide. Jika ingin semua {i>slide<i} judul terlihat dalam 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 digunakan dengan catatan pembicara.

Jenis dan struktur representasi API

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

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

diagram gaya erd

Bagian berikut menunjukkan bagaimana jenis ini direpresentasikan di 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,
}

Pages

Halaman mencakup kumpulan 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 sesuai dengan 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, seperti yang 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 unit individual. Elemen tersebut dapat dipindahkan, diskalakan, dan diputar bersama.
Bentuk Objek visual biasa, seperti persegi panjang, elips, dan kotak teks. Bentuk dapat berisi teks, sehingga merupakan elemen halaman yang paling umum untuk membangun {i>slide<i}.
Gambar Grafik yang diimpor ke Slide.
Video Video yang diimpor ke Slide.
Garis Garis, kurva, atau konektor visual.
Tabel Petak konten.
WordArt Elemen teks visual yang berperilaku seperti sebuah 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 di presentasi. Elemen halaman yang berbeda mendukung properti berbeda yang mengontrol cara elemen halaman dirender.

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

Kumpulan permintaan element/properties/update yang sama ada untuk setiap jenis elemen halaman: Image/imageProperties/UpdateImageProperties, dan seterusnya.

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

Jenis properti

Ada beberapa properti 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 dengan 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 Isi mewakili rendering ruang kosong di dalam objek. Isian yang paling umum didukung di Slide adalah isian solid, dengan bagian dalam objek diisi dengan satu warna solid. Isian juga bisa digunakan untuk latar belakang Halaman.
Garis keliling Garis batas mewakili kumpulan garis yang mengelilingi elemen halaman. Warna garis dikontrol dengan Fill. Pemanggil juga bisa menyesuaikan lebar dan gaya tanda hubung outline.
Bayangan Bayangan mewakili efek visual yang dimaksudkan untuk meniru tampilan bayangan fisik oleh objek. Saat ini, bayangan di Slides API bersifat hanya baca.

Memperbarui properti

Untuk memperbarui properti, gunakan permintaan Update...Properties yang sesuai di panggilan batchUpdate—misalnya, UpdateShapeProperties untuk Bentuk. Permintaan ini menerima pesan properti lengkap dan dapat menggunakan mask kolom untuk menentukan kolom mana di 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 diwarisinya, menentukan tampilan visual akhirnya.

  • Properti halaman — Halaman mewarisi properti apa pun yang tidak ditentukan, tetapi yang ditentukan dalam tata letak atau master yang menjadi dasarnya.
  • Properti bentuk — Sebuah bentuk dapat ditandai sebagai placeholder, sehingga Anda dapat secara eksplisit mereferensikan bentuk placeholder lainnya (di tata letak atau master induk halaman) yang akan diwarisi propertinya.

Ide-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 dan master induk slide ditentukan dalam kolom slideProperties slide.

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

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

pewarisan properti slide

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

  • PropertyA adalah "Red".
  • PropertiB adalah "Oranye".

Pewarisan properti bentuk

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

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

Diagram berikut menunjukkan pewarisan properti antara tiga placeholder yang berada di dalam slide, tata letak, dan master:

pewarisan properti bentuk

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

  • Placeholder1: propertyA dirender sebagai "Yellow", propertyB dirender sebagai "Green".
  • Placeholder2: propertyA dirender sebagai "Yellow", propertyB dirender sebagai "Purple".
  • Placeholder3: propertyA dirender sebagai "Yellow", propertyB dirender sebagai "Purple".

Bentuk adalah satu-satunya jenis elemen halaman yang dapat memiliki induk. Jenis lain, seperti gambar, tabel, dan diagram, tidak boleh berupa placeholder dan tidak boleh 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 dihasilkan untuk bentuk ini adalah sebagai berikut:

  • Placeholder1: propertyA dirender sebagai "Red".
  • Placeholder2: propertyA tidak dirender. Jika ini adalah properti outline, Placeholder2 tidak akan memiliki outline.
  • Placeholder3: propertyA tidak dirender.

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