หน้าเว็บ องค์ประกอบของหน้า และคุณสมบัติ

หากต้องการใช้ Slides API อย่างมีประสิทธิภาพ คุณต้องทำความเข้าใจ สถาปัตยกรรมของงานนำเสนอและคอมโพเนนต์ต่างๆ รวมถึงการโต้ตอบ ระหว่างคอมโพเนนต์เหล่านี้ หน้านี้จะแสดงภาพรวมโดยละเอียดของหัวข้อต่อไปนี้

  • โมเดลแนวคิดของคอมโพเนนต์งานนำเสนอ
  • วิธีที่ API แสดงองค์ประกอบเหล่านี้
  • พร็อพเพอร์ตี้การจัดรูปแบบของคอมโพเนนต์

การอ่านภาพรวมแนวคิดนี้และภาพรวมอื่นๆ จะช่วยให้คุณเข้าใจและใช้คำแนะนำแบบทีละขั้นตอน เอกสารประกอบอ้างอิง และตัวอย่างสูตรได้ง่ายขึ้น

งานนำเสนอ หน้าเว็บ และองค์ประกอบของหน้าเว็บ

องค์ประกอบคอนเทนเนอร์ด้านนอกสุดใน Google สไลด์คืองานนำเสนอ ซึ่งเป็น หน่วยที่บันทึกใน Google ไดรฟ์ แชร์กับผู้ใช้รายอื่น และอื่นๆ ได้

งานนำเสนอแต่ละรายการมีหน้าหลายประเภท หน้าเว็บประเภทหนึ่งคือสไลด์ ซึ่งเป็นหน้าเว็บที่ผู้ใช้เห็นและพลิกไปมาระหว่างการแสดงผลงานนำเสนอบนหน้าจอ

แต่ละหน้าจะมีองค์ประกอบของหน้าจำนวนหนึ่ง ซึ่งรวมกันเป็นเนื้อหาของหน้า ดังที่แสดงในไดอะแกรมต่อไปนี้

แผนภาพสถาปัตยกรรมของสไลด์

นอกจากสไลด์แล้ว ยังมีหน้าประเภทอื่นๆ ที่ให้คุณใช้การออกแบบกับสไลด์ต่างๆ ได้ มากมาย ซึ่งจะช่วยให้สไลด์มีลักษณะที่สอดคล้องกัน หน้าประเภทอื่นๆ เหล่านี้คือมาสเตอร์และเลย์เอาต์ และพร็อพเพอร์ตี้ของหน้าเหล่านี้จะกำหนดวิธีแสดงผลสไลด์ ดังที่แสดงในไดอะแกรมต่อไปนี้

แผนภาพสถาปัตยกรรมธีม

หน้าหลัก - หน้าหลักมีไว้สำหรับวัตถุประสงค์ 2 ประการ ตัวยึดตำแหน่งในสไลด์ต้นแบบ มีค่าเริ่มต้นสำหรับรูปแบบข้อความที่ใช้ในงานนำเสนอ พื้นหลังและรูปร่างอื่นๆ ในสไลด์ต้นแบบจะกลายเป็น พื้นหลังเริ่มต้นสำหรับสไลด์ทั้งหมดที่อิงตามสไลด์ต้นแบบนั้น หากมีโลโก้บริษัทที่ ต้องการให้ปรากฏในทุกสไลด์ของงานนำเสนอ ให้ใส่โลโก้ในสไลด์ต้นแบบ

เลย์เอาต์ - เทมเพลตเลย์เอาต์จะกำหนดวิธีจัดเรียงเนื้อหาในสไลด์แต่ละประเภท หากต้องการให้สไลด์ชื่อทั้งหมดมีลักษณะเฉพาะ เช่น คุณอาจแก้ไขเทมเพลตเลย์เอาต์ชื่อ

นอกจากนี้ ยังมีหน้าอีก 2 ประเภท ได้แก่ หน้าหมายเหตุและ มาสเตอร์หมายเหตุ ซึ่งส่วนใหญ่เกี่ยวข้องกับการทำงานกับหมายเหตุ ของผู้พูด

ประเภทและการจัดโครงสร้างการแสดง API

ส่วนนี้อธิบายวิธีแสดงโมเดลแนวคิดของ Google สไลด์ตามที่อธิบายไว้ ข้างต้นใน Slides API

แผนภาพต่อไปนี้แสดงความสัมพันธ์ระหว่างงานนำเสนอ หน้า และ องค์ประกอบของหน้าในฐานะประเภทใน Slides API

แผนภาพสไตล์ ERD

ส่วนต่อไปนี้แสดงวิธีแสดงประเภทเหล่านี้ใน JSON

งานนำเสนอ

งานนำเสนอประกอบด้วย พร็อพเพอร์ตี้จำนวนหนึ่ง และมีหน้าต่างๆ ที่อยู่ในงานนำเสนอ

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

Pages

หน้าประกอบด้วยชุดพร็อพเพอร์ตี้ และมีองค์ประกอบของหน้าที่อยู่ในนั้น

{
  "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.
}

องค์ประกอบของหน้า

องค์ประกอบของหน้า คือคอมโพเนนต์ภาพที่วางไว้ในหน้าเว็บ องค์ประกอบหน้าใน API มีพร็อพเพอร์ตี้หลายรายการ รวมถึงฟิลด์ที่แตกต่างกันไปตาม ประเภทขององค์ประกอบหน้า

{
  "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.
}

องค์ประกอบของหน้ามีหลายประเภทตามที่กำหนดโดยฟิลด์ Union element_kind ในคำจำกัดความด้านบน องค์ประกอบหน้าเว็บประเภทนี้มีคำอธิบายในตารางต่อไปนี้

ประเภทองค์ประกอบ คำอธิบาย
กลุ่ม ชุดองค์ประกอบหน้าเว็บที่ถือเป็นหน่วยเดียว โดยสามารถย้าย ปรับขนาด และหมุนพร้อมกันได้
รูปร่าง ออบเจ็กต์ภาพธรรมดา เช่น สี่เหลี่ยม วงรี และกล่องข้อความ รูปร่างมีข้อความได้ จึงเป็นองค์ประกอบหน้าเว็บที่ใช้สร้างสไลด์กันมากที่สุด
รูปภาพ กราฟิกที่นำเข้าไปยังสไลด์
วิดีโอ วิดีโอที่นำเข้าไปยังสไลด์
บรรทัด เส้น โค้ง หรือตัวเชื่อมต่อที่มองเห็นได้
ตาราง ตารางกริดของเนื้อหา
WordArt องค์ประกอบข้อความแบบภาพที่ทำงานคล้ายรูปร่าง
SheetsChart แผนภูมิที่นำเข้าไปยังสไลด์จาก Google ชีต

คุณสมบัติของหน้าและองค์ประกอบของหน้า

Slides API ช่วยให้คุณอ่านและอัปเดตรูปลักษณ์ของหน้าและองค์ประกอบของหน้า ในงานนำเสนอได้ องค์ประกอบต่างๆ ของหน้าเว็บรองรับพร็อพเพอร์ตี้ที่แตกต่างกันซึ่งควบคุมวิธีแสดงผลองค์ประกอบของหน้าเว็บ

องค์ประกอบแต่ละประเภทของหน้าเว็บจะมีองค์ประกอบพร็อพเพอร์ตี้และข้อความอัปเดตพร็อพเพอร์ตี้ที่เกี่ยวข้อง เช่น

  • มีประเภทองค์ประกอบของหน้า Shape
  • ฟิลด์พร็อพเพอร์ตี้คือ shapeProperties
  • คำขออัปเดตพร็อพเพอร์ตี้เหล่านี้คือ UpdateShapePropertiesRequest

ชุดองค์ประกอบ/พร็อพเพอร์ตี้/คำขออัปเดตเดียวกันมีอยู่สำหรับองค์ประกอบหน้าแต่ละประเภท ประเภท: รูปภาพ/imageProperties/UpdateImageProperties และอื่นๆ

คุณสามารถอ่านแอตทริบิวต์พร็อพเพอร์ตี้ได้ทุกที่ที่พบเมื่ออ่านองค์ประกอบ และหากต้องการเปลี่ยนค่าในแอตทริบิวต์ ให้ใช้แอตทริบิวต์กับประเภทคำขอที่ตรงกันเป็นเพย์โหลดสำหรับเมธอด batchUpdate ซึ่งจะช่วยให้คุณเปลี่ยนค่าเหล่านี้ในการนำเสนอได้

ประเภทพร็อพเพอร์ตี้

มีพร็อพเพอร์ตี้บางอย่างที่ใช้ร่วมกันระหว่างออบเจ็กต์หลายประเภทใน Slides API ดังนี้

พร็อพเพอร์ตี้ คำอธิบาย
สี สีใน Slides API อาจเป็นค่า RGB หรือการอ้างอิงถึงสีของธีม สีของธีมจะอ้างอิงตามชื่อ (เช่น "DARK1") และสามารถเชื่อมโยงกับค่า RGB ได้โดยใช้รูปแบบสีของหน้าเว็บ โดยปกติแล้ว ระบบจะอัปเดตรูปแบบสีนี้เมื่อเปลี่ยนธีมของงานนำเสนอในโปรแกรมแก้ไขสไลด์
เติมพื้น การเติมสีแสดงถึงการแสดงผลพื้นที่ว่างภายในออบเจ็กต์ การเติมที่รองรับในสไลด์มากที่สุดคือการเติมสีทึบ ซึ่งเป็นการเติมสีทึบสีเดียวลงในวัตถุ นอกจากนี้ คุณยังใช้การเติมสีกับพื้นหลังของหน้าเว็บได้ด้วย
โครงร่าง เส้นขอบแสดงชุดเส้นที่ล้อมรอบองค์ประกอบของหน้า คุณควบคุมสีของเส้นได้ด้วยการเติม นอกจากนี้ ผู้โทรยังปรับความกว้างและรูปแบบเส้นประของโครงร่างได้ด้วย
เงา เงาแสดงถึงเอฟเฟกต์ภาพที่จำลองเงาจริงที่วัตถุทอด ปัจจุบันเงาใน Slides API เป็นแบบอ่านอย่างเดียว

การอัปเดตพร็อพเพอร์ตี้

หากต้องการอัปเดตพร็อพเพอร์ตี้ ให้ใช้Update...Propertiesคำขอที่เหมาะสมใน batchUpdate การเรียกใช้ เช่น UpdateShapeProperties สำหรับรูปร่าง คำขอเหล่านี้ ยอมรับข้อความพร็อพเพอร์ตี้แบบเต็มและใช้ฟิลด์มาสก์เพื่อระบุฟิลด์ในข้อความพร็อพเพอร์ตี้ที่ควรได้รับการอัปเดตได้

การสืบทอดพร็อพเพอร์ตี้

หน้าหรือองค์ประกอบของหน้าจะรับช่วงพร็อพเพอร์ตี้จากออบเจ็กต์ระดับบนสุดได้ พร็อพเพอร์ตี้ของออบเจ็กต์ รวมถึงพร็อพเพอร์ตี้ที่กำหนดและพร็อพเพอร์ตี้ที่สืบทอด จะเป็นตัวกำหนดลักษณะที่ปรากฏสุดท้ายของออบเจ็กต์

  • พร็อพเพอร์ตี้หน้า - หน้าจะรับค่าพร็อพเพอร์ตี้ใดๆ ที่ไม่ได้กำหนด แต่กำหนดไว้ในเลย์เอาต์หรือมาสเตอร์ที่หน้าอิงตาม
  • พร็อพเพอร์ตี้รูปร่าง - คุณสามารถทำเครื่องหมายรูปร่างเป็นตัวยึดตำแหน่งได้ ซึ่งจะช่วยให้คุณอ้างอิงรูปร่างตัวยึดตำแหน่งอื่นอย่างชัดเจน (ในเลย์เอาต์หลักหรือมาสเตอร์ของหน้า) เพื่อรับช่วงพร็อพเพอร์ตี้

เราจะอธิบายแนวคิดเหล่านี้เพิ่มเติมในย่อหน้าต่อไปนี้

การรับช่วงคุณสมบัติของหน้า

โครงสร้างของสไลด์ เลย์เอาต์ และสไลด์ต้นแบบจะกำหนดลำดับชั้นการรับค่า ภายในงานนำเสนอ โดยสไลด์จะรับค่าจากเลย์เอาต์ และเลย์เอาต์จะรับค่าจาก สไลด์ต้นแบบ เลย์เอาต์หลักและเลย์เอาต์หลักของสไลด์จะระบุในฟิลด์ slideProperties ของสไลด์

หน้าเว็บสามารถรับช่วงพร็อพเพอร์ตี้ เช่น background และcolor scheme จากหน้าเว็บระดับบนได้ หากต้องการรับค่าพร็อพเพอร์ตี้ หน้าลูกเพียงแค่ไม่ได้ตั้งค่าสำหรับพร็อพเพอร์ตี้นั้นในข้อความ PageProperties การไม่ "ลบล้าง" ค่าที่กำหนดโดยองค์ประกอบระดับบนสุดทำให้หน้าเว็บยอมรับค่าที่รับมา

แผนภาพต่อไปนี้แสดงสไลด์ที่รับค่าพร็อพเพอร์ตี้จากเลย์เอาต์ ซึ่งรับค่าจากสไลด์หลัก

การรับช่วงคุณสมบัติของสไลด์

พร็อพเพอร์ตี้ที่ใช้ในการแสดงผลสไลด์คือการรวมพร็อพเพอร์ตี้ที่กำหนดและ พร็อพเพอร์ตี้ที่รับช่วง ในตัวอย่างนี้ ค่าที่แก้ไขแล้วซึ่งใช้ในการแสดงผลสไลด์ 1 มีดังนี้

  • พร็อพเพอร์ตี้ A คือ "แดง"
  • PropertyB คือ "Orange"

การรับช่วงพร็อพเพอร์ตี้ของรูปร่าง

รูปร่างสามารถรับช่วงพร็อพเพอร์ตี้ เช่น การเติม เส้นขอบ หรือเงา จากรูปร่างอื่นๆ ได้ รูปร่างคือตัวยึดตำแหน่งหากตั้งค่าฟิลด์ Shape.placeholder ฟิลด์ Shape.placeholder.parentObjectId ของตัวยึดตำแหน่งย่อย ระบุตัวยึดตำแหน่งหลัก เมื่อสร้างสไลด์ใหม่ตาม เลย์เอาต์ ตัวยึดตำแหน่งในเลย์เอาต์นั้นจะปรากฏเป็นรูปร่างย่อยในสไลด์ใหม่ ในทำนองเดียวกัน ตัวยึดตำแหน่งในหน้าต้นแบบสามารถทำหน้าที่เป็นตัวยึดตำแหน่งหลักของเลย์เอาต์ได้

เมื่อกำหนดลำดับชั้นการรับค่านี้แล้ว หน้าลูกจะรับค่าพร็อพเพอร์ตี้โดย ไม่ตั้งค่าดังกล่าวในข้อความ ShapeProperties การไม่ลบล้างค่าที่กำหนดโดยรูปร่างหลักจะทำให้รูปร่างย่อย ยอมรับค่าที่รับช่วงมา

แผนภาพต่อไปนี้แสดงการรับค่าพร็อพเพอร์ตี้ระหว่างตัวยึดตำแหน่ง 3 รายการที่อยู่ในสไลด์ เลย์เอาต์ และสไลด์ต้นแบบ

การรับช่วงพร็อพเพอร์ตี้รูปร่าง

พร็อพเพอร์ตี้ที่ใช้ในการแสดงรูปร่างตัวยึดตำแหน่งคือการรวมกันของพร็อพเพอร์ตี้ที่กำหนดเองและพร็อพเพอร์ตี้ที่รับช่วงมา ในตัวอย่างนี้ ค่าที่แก้ไขแล้วสำหรับรูปร่าง เหล่านี้มีดังนี้

  • Placeholder1: propertyA แสดงเป็น "เหลือง" และ propertyB แสดงเป็น "เขียว"
  • Placeholder2: propertyA แสดงเป็น "เหลือง" และ propertyB แสดงเป็น "ม่วง"
  • Placeholder3: พร็อพเพอร์ตี้ A แสดงเป็น "สีเหลือง" พร็อพเพอร์ตี้ B แสดงเป็น "สีม่วง"

รูปร่างเป็นองค์ประกอบของหน้าเพียงประเภทเดียวที่มีองค์ประกอบระดับบนสุดได้ ส่วนออบเจ็กต์ประเภทอื่นๆ เช่น รูปภาพ ตาราง และแผนภูมิ จะเป็นตัวยึดตำแหน่งไม่ได้และไม่มี ออบเจ็กต์หลัก

"ซ่อน" พร็อพเพอร์ตี้โดยใช้ PropertyState

การแจงนับ PropertyState จะควบคุมว่ามีการใช้พร็อพเพอร์ตี้ของรูปร่างในการแสดงผลจริงหรือไม่ หรือใช้ค่าสำหรับการรับค่าจากรูปร่างหลักไปยังรูปร่างย่อยเท่านั้น ระบบจะไม่ใช้พร็อพเพอร์ตี้ที่มี สถานะพร็อพเพอร์ตี้ NOT_RENDERED เมื่อแสดงรูปร่างในหน้า ของพร็อพเพอร์ตี้นั้น แต่พร็อพเพอร์ตี้ย่อยที่มีสถานะพร็อพเพอร์ตี้ที่สอดคล้องกันเป็น RENDERED จะยังคงรับค่าพร็อพเพอร์ตี้นี้ได้

แผนภาพต่อไปนี้แสดงการรับค่าพร็อพเพอร์ตี้ระหว่างตัวยึดตำแหน่ง 3 รายการ ที่จัดการฟิลด์ PropertyState

สถานะและการรับช่วงพร็อพเพอร์ตี้ต่อ

การแสดงผลพร็อพเพอร์ตี้รูปร่างอาจได้รับผลกระทบจากฟิลด์ PropertyState ในตัวอย่างนี้ ค่าที่แก้ไขแล้วสำหรับรูปร่างเหล่านี้มีดังนี้

  • Placeholder1: propertyA แสดงเป็น "Red"
  • Placeholder2: propertyA ไม่แสดงผล หากเป็นพร็อพเพอร์ตี้เค้าร่าง Placeholder2 จะไม่มีเค้าร่าง
  • Placeholder3: พร็อพเพอร์ตี้ A ไม่แสดงผล

ค่าที่เป็นไปได้อีกค่าหนึ่งของ การแจงนับ PropertyState คือสถานะพร็อพเพอร์ตี้ INHERIT ซึ่งหมายความว่าสถานะพร็อพเพอร์ตี้ เองได้รับการสืบทอด และควรใช้ค่าของพร็อพเพอร์ตี้ระดับบน รูปร่างที่ไม่มีรูปร่างหลัก จะมีสถานะพร็อพเพอร์ตี้เป็น INHERIT ไม่ได้