ส่วนใน Slides API คุณสามารถใส่ข้อความในรูปร่างหรือในเซลล์ของตารางได้ คุณต้องเข้าใจโครงสร้างก่อนจึงจะจัดการและจัดรูปแบบข้อความได้ และการจัดรูปแบบ
หน้านี้จะอธิบายวิธีแสดงข้อความใน Slides API
ลำดับขององค์ประกอบข้อความ
ข้อความที่อยู่ในรูปร่างหรือเซลล์ในตารางประกอบด้วยลำดับของ TextElement เหล่านี้ ลำดับนี้จะแสดงโครงสร้างของข้อความตามลำดับ แสดงตั้งแต่ต้นจนจบ
เช่น ลองพิจารณาเนื้อหาของสไลด์นี้ ซึ่งทั้งหมดรวมอยู่ใน กล่องข้อความ:
สไลด์ด้านบนมีกล่องข้อความ 1 กล่อง ซึ่งช่อง text
มีลำดับ
ขององค์ประกอบข้อความดังที่แสดงในแผนภาพต่อไปนี้
เพื่อให้เป็นรูปธรรมมากขึ้น ลำดับข้อความนี้จะแสดงใน Slides API เป็น ดังต่อไปนี้:
"textElements": [ {
"endIndex": 224,
"paragraphMarker": { "style": {} }
}, {
"endIndex": 130,
"textRun": { "content": "Li lingues differe in li grammatica e li vocabules. Omnicos directe al desirabilite de un nov ", "style": {} }
}, {
"endIndex": 143,
"startIndex": 130,
"textRun": { "content": "lingua franca", "style": { "italic": True } }
}, {
"endIndex": 224,
"startIndex": 143,
"textRun": { "content": ": solmen va esser necessi far:\n", "style": {} }
}, {
"endIndex": 243,
"startIndex": 224,
"paragraphMarker": {
"style": { "indentStart": { "magnitude": 36, "unit": "PT" }, "direction": "LEFT_TO_RIGHT", "indentFirstLine": { "magnitude": 18, "unit": "PT" }, "spacingMode": "COLLAPSE_LISTS" },
"bullet": { "listId": "foo123", "glyph": "\u25cf" }
}
}, {
"endIndex": 243,
"startIndex": 224,
"textRun": { "content": "uniform grammatica\n", "style": {} }
}, {
"endIndex": 257,
"startIndex": 243,
"paragraphMarker": {
"style": { "indentStart": { "magnitude": 36, "unit": "PT" }, "direction": "LEFT_TO_RIGHT", "indentFirstLine": { "magnitude": 18, "unit": "PT" }, "spacingMode": "COLLAPSE_LISTS" },
"bullet": { "listId": "foo123", "glyph": "\u25cf" }
}
}, {
"endIndex": 257,
"startIndex": 243,
"textRun": { "content": "Pronunciation\n", "style": {} }
}, {
"endIndex": 277,
"startIndex": 257,
"paragraphMarker": {
"style": { "indentStart": { "magnitude": 36, "unit": "PT" }, "indentFirstLine": { "magnitude": 18, "unit": "PT" }, "spacingMode": "COLLAPSE_LISTS" },
"bullet": { "listId": "foo123", "glyph": "\u25cf" }
}
}, {
"endIndex": 277,
"startIndex": 257,
"textRun": { "content": "plu sommun paroles.\n", "style": {} }
}, {
"endIndex": 500,
"startIndex": 277,
"paragraphMarker": { "style": {} }
}, {
"endIndex": 500,
"startIndex": 277,
"textRun": { "content": "Ka swu thefognay, tay waddeant varpa u inzo.\n", "style": {} }
}]
เนื้อหา TextElement
องค์ประกอบข้อความแต่ละรายการจะมีดัชนีเริ่มต้นและดัชนีสิ้นสุดที่มีฐานเป็นศูนย์ ซึ่งอธิบายตำแหน่งขององค์ประกอบภายในข้อความแบบเต็มของหน้า พร้อมกับออบเจ็กต์ข้อความประเภทใดประเภทหนึ่งต่อไปนี้
ประเภทข้อความ | คำอธิบาย |
---|---|
ParagraphMarker | องค์ประกอบข้อความนี้แสดงจุดเริ่มต้นของย่อหน้าใหม่ ดัชนีเริ่มต้นและสิ้นสุดขององค์ประกอบข้อความจะแสดงเต็มช่วงของย่อหน้า รวมถึงอักขระขึ้นบรรทัดใหม่ที่สิ้นสุดย่อหน้าด้วย ย่อหน้าไม่ทับซ้อนกับย่อหน้าอื่น ย่อหน้าจะลงท้ายด้วยอักขระขึ้นบรรทัดใหม่เสมอ ดังนั้นจะมีบรรทัดใหม่ที่ท้ายเนื้อหาข้อความของรูปร่างหรือเซลล์ในตารางเสมอ ย่อหน้าอาจเป็นรายการสัญลักษณ์หัวข้อย่อยหรือรายการที่เรียงลำดับเลขก็ได้ หากมี เนื้อหาในช่อง ParagraphMarker.bullet จะมีรหัสรายการ รหัสนี้อ้างอิงองค์ประกอบรายการที่มีอยู่ภายใน TextContent ควบคู่ไปกับลำดับ TextElement ย่อหน้าภายในรายการเชิงตรรกะเดียวกันจะอ้างถึงรหัสรายการเดียวกัน |
TextRun | องค์ประกอบข้อความนี้แสดงสตริงข้อความต่อเนื่องกัน โดยทั้งหมดมีรูปแบบข้อความเดียวกัน ข้อความจะไม่ข้ามขอบเขตของย่อหน้า แม้ว่าข้อความปิดท้าย 1 ย่อหน้าจะมีการจัดรูปแบบเหมือนกับข้อความที่เริ่มย่อหน้าถัดไป แต่เนื้อหาจะถูกแยกออกหลังอักขระขึ้นบรรทัดใหม่เพื่อสร้างข้อความแยกต่างหาก หากคุณจำเป็นต้องประมวลผลสตริงข้อความทั้งหมดภายในองค์ประกอบของหน้า ให้ทำซ้ำผ่านองค์ประกอบของข้อความทั้งหมด โดยนำสตริงที่พบในข้อความทั้งหมดมาเรียงต่อกัน |
AutoText | ข้อความอัตโนมัติหมายถึงตำแหน่งต่างๆ ในข้อความที่เปลี่ยนแปลงแบบไดนามิกตามบริบท ส่วนในสไลด์ ค่านี้ใช้เพื่อแสดงหมายเลขสไลด์ปัจจุบันภายในข้อความ |
การแก้ไขเนื้อหาข้อความ
เมื่อต้องการแก้ไขข้อความโดยใช้ Slides API คุณไม่จำเป็นต้อง
สร้างเอลิเมนต์ข้อความ
ที่เหมาะสมทั้งหมด คุณสามารถดำเนินการกับข้อความ เช่น
ในเครื่องมือแก้ไขสไลด์ การแทรกข้อความ การลบช่วง
อัปเดตรูปแบบในช่วง การดำเนินการเหล่านี้จะสร้าง ParagraphMarker
โดยปริยาย
และ TextRun
องค์ประกอบตามความจำเป็นเพื่อแสดงการเปลี่ยนแปลงของคุณ
การแทรกข้อความ
คุณสามารถแทรกข้อความที่ดัชนีโดยใช้
InsertTextRequest
ในการโทรหา
batchUpdate. ช่วงเวลานี้
ช่อง insertionIndex
ของเมธอดจะระบุตำแหน่งที่จะแทรกข้อความ คุณสามารถ
ประมวลผลดัชนีนี้โดยใช้ช่องดัชนีเริ่มต้นและสิ้นสุดภายในเอลิเมนต์ข้อความ
การแทรกข้อความมีผลข้างเคียงบางอย่างที่แสดงถึงลักษณะการทำงานของสไลด์ ตัวแก้ไข:
- การแทรกอักขระขึ้นบรรทัดใหม่จะสร้างย่อหน้าใหม่โดยปริยาย
สร้างองค์ประกอบของข้อความ
ParagraphMarker
ที่เริ่มต้นที่ดัชนีของบรรทัดใหม่ และสิ้นสุดที่บรรทัดใหม่ถัดไป รูปแบบย่อหน้า รวมถึงสัญลักษณ์หัวข้อย่อย และแสดงรายละเอียด — ถูกคัดลอกจากย่อหน้าปัจจุบันไปยังย่อหน้าใหม่ ย่อหน้า - โดยทั่วไปแล้ว รูปแบบของอักขระที่แทรกจะได้รับการกำหนดโดยอัตโนมัติ
และเก็บรูปแบบข้อความแบบเดียวกับที่มีอยู่ในดัชนีการแทรก ด้วยเหตุนี้
ข้อความมักจะแทรกอยู่ใน
TextRun
ที่มีอยู่ ดัชนี คุณอัปเดตสไตล์นี้ในภายหลังได้โดยใช้ UpdateTextStyle อีกครั้ง
กำลังลบข้อความ
คุณสามารถลบข้อความเป็นช่วงได้โดยใช้ DeleteTextRequest ข้อความในการโทรถึง batchUpdate. การลบข้อความมีข้อจำกัดบางอย่างดังนี้
- การลบที่ข้ามขอบเขตของย่อหน้าจะรวม 2 ย่อหน้าเข้าด้วยกัน
กำลังลบองค์ประกอบของข้อความ
ParagraphMarker
ที่ใช้แยกกัน - ย่อหน้าที่ผสานใหม่จะใช้ลักษณะย่อหน้าแบบรวม กล่าวคือ ในเครื่องมือแก้ไขสไลด์
- การลบที่มีช่วงครอบคลุมถึงการเรียกใช้ข้อความจะนำเนื้อหาทั้งหมดออกจาก และจะลบข้อความที่เรียกใช้เองด้วย
- การลบที่มีช่วงครอบคลุมเอลิเมนต์
AutoText
จะลบ องค์ประกอบAutoText
กำลังอัปเดตรูปแบบข้อความ
ลักษณะที่แสดงผลของข้อความในสไลด์จะกำหนดโดยรูปแบบข้อความ พร็อพเพอร์ตี้:
- ระบบจะกำหนดลักษณะของย่อหน้า เช่น การเยื้อง การจัดข้อความ และสัญลักษณ์หัวข้อย่อย ตามคุณสมบัติบนเครื่องหมายย่อหน้า
- รูปแบบอักขระ เช่น ตัวหนา ตัวเอียง และขีดเส้นใต้ จะกำหนดโดย คุณสมบัติพิเศษในการเรียกใช้ข้อความแต่ละข้อความ
กำลังอัปเดตรูปแบบตัวละคร
คุณสามารถอัปเดตรูปแบบอักขระได้โดยใช้ UpdateTextStyleRequest ข้อความในการโทรถึง batchUpdate.
จะใช้รูปแบบอักขระกับช่วง เช่นเดียวกับการดำเนินการข้อความอื่นๆ
และสร้างออบเจ็กต์ TextRun
ใหม่ตามที่จำเป็นโดยปริยาย
การตั้งค่ารูปแบบอักขระบางอย่างจะอัปเดตสไตล์อื่นๆ ที่เกี่ยวข้องโดยปริยายเพื่อให้ตรงกัน ลักษณะการทำงานในเครื่องมือแก้ไขสไลด์ เช่น การเพิ่มลิงก์โดยอัตโนมัติ จะเปลี่ยนสีพื้นหน้าและคุณสมบัติการขีดเส้นใต้ของข้อความ โปรดดู TextStyle สำหรับข้อมูลเพิ่มเติม
กำลังอัปเดตรูปแบบย่อหน้า
คุณอัปเดตรูปแบบย่อหน้าได้โดยใช้ UpdateParagraphStyleRequest ข้อความในการโทรถึง batchUpdate.
Slides API รองรับ CreateParagraphBulletsRequest ที่มีฟังก์ชันการทำงานเหมือนกับชุดค่าที่กำหนดล่วงหน้าในเครื่องมือแก้ไขสไลด์ สร้างรายการสัญลักษณ์หัวข้อย่อยและรายการที่เรียงลำดับเลข ในทำนองเดียวกัน DeleteParagraphBulletsRequest นำสัญลักษณ์หัวข้อย่อยที่มีอยู่ในย่อหน้าออก
รูปแบบที่รับช่วงมา
รูปร่างบางอย่างที่เรียกว่า placeholder สามารถใช้รูปแบบข้อความจากระดับบนสุดอื่นๆ ได้ รูปร่าง: ดูตัวยึดตำแหน่ง เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการสืบทอดรูปร่างโดยทั่วไป
ส่วนนี้เน้นไปที่วิธีการทำงานของการสืบทอดสไตล์เพื่อสร้าง ในรูปแบบข้อความที่แสดงผลในสไลด์
การนำเสนอรูปแบบในตัวยึดตำแหน่ง
ส่วนเกี่ยวกับตัวยึดตำแหน่ง อธิบายวิธีการสืบทอดค่าระหว่างรูปร่างหลักและย่อย การรับค่าจาก ลักษณะข้อความได้รับการจัดการโดยฟีเจอร์เพิ่มเติมภายในโมเดลการรับค่า
- คุณสมบัติของ ParagraphMaker องค์ประกอบของข้อความจะกำหนดการจัดรูปแบบย่อหน้า
- คุณสมบัติของ TextRun องค์ประกอบข้อความจะกำหนดการจัดรูปแบบอักขระ
- เนื้อหาของตัวยึดตำแหน่งระดับบนสุดมี ParagraphMarker/TextRun 8 รายการ คู่กัน (เพื่อรองรับการซ้อนรายการ 8 ระดับ)
- ตัวยึดตำแหน่งย่อยจะรับคุณสมบัติข้อความเริ่มต้นมาจากข้อความเหล่านี้ องค์ประกอบในเนื้อหาข้อความระดับบนสุด
แผนภาพต่อไปนี้แสดงวิธีหนึ่งในการแสดงภาพความสัมพันธ์เหล่านี้
ParagraphMarker/TextRun แรกในรูปร่างหลักกำหนด การจัดรูปแบบข้อความที่รับมา การจัดรูปแบบใน 7 คู่ที่เหลือจะส่งผลต่อ ย่อหน้าในระดับหัวข้อย่อยที่ซ้อนกันมากขึ้นทีละชั้น
คู่องค์ประกอบของข้อความระดับบนสุด | การจัดรูปแบบย่อยที่ควบคุมได้ |
---|---|
แรก ParagraphMarker TextRun แรก |
รูปแบบข้อความของรายการระดับ 0 (ด้านนอกสุด) และย่อหน้าที่ไม่อยู่ในรายการทั้งหมด |
ที่ 2 ParagraphMarker 2 TextRun |
รูปแบบข้อความของ ที่เหลืออยู่ รายการระดับ (ที่ซ้อนกัน) 1-7 |
วันที่ 3 ParagraphMarker ที่ 3 TextRun |
|
ที่ 4 ParagraphMarker 4 TextRun |
|
วันที่ 5 ParagraphMarker ที่ 5 TextRun |
|
ที่ 6 ParagraphMarker ที่ 6 TextRun |
|
ที่ 7 ParagraphMarker 7 TextRun |
|
ที่ 8 ParagraphMarker 8 TextRun |
หากต้องการเข้าถึงองค์ประกอบข้อความคู่เหล่านี้ ให้ใช้ดัชนีที่ชัดเจนภายในองค์ประกอบ
textElements
ตามที่แสดงในข้อมูลโค้ดด้านล่าง ซึ่งแสดงการตั้งค่า
การจัดรูปแบบเริ่มต้น (รับค่าได้) สำหรับย่อหน้าระดับ 0 และย่อหน้าที่ไม่มีในรายการ:
"text": {
"textElements": [ {
"startIndex": 0,
"endIndex": 1,
"paragraphMarker": {
"style": { "alignment": "START", ... },
"bullet": { "nestingLevel": 0, ... }
}
},{
"startIndex": 0,
"endIndex": 1,
"textRun": {
"content": "\n",
"style": { "foregroundColor": { "opaqueColor": { "themeColor": "DARK1" } }, }
}
},{
...
} ]
}
โปรดทราบว่าช่อง content
ของ TextRun
ของรูปร่างหลักประกอบด้วยค่าเสมอ
อักขระขึ้นบรรทัดใหม่ 1 ตัว
สามารถลบล้างรูปแบบที่รับช่วงมาได้
รูปร่างย่อยสามารถระบุคุณสมบัติการจัดรูปแบบใน ParagraphMarker และ TextRun องค์ประกอบในเนื้อหา พร็อพเพอร์ตี้ที่ระบุในเครื่องเหล่านี้จะลบล้าง พร็อพเพอร์ตี้ที่รับช่วงมาภายในขอบเขตภายใน องค์ประกอบที่ไม่ได้ระบุค่าใดๆ จะใช้สไตล์ที่เกี่ยวข้องซึ่งรับค่ามาจากรายการระดับบน
การนำคุณสมบัติของรูปแบบที่ชัดเจนออกจากรูปร่างย่อยเพื่อไม่ให้เป็นรูปร่างนั้นอีกต่อไป จะทำให้รับค่าจากระดับบน
ตัวอย่าง
สมมติว่าสืบทอดค่าที่แสดงในแผนภาพด้านบน สมมติว่าเป็นรูปร่าง
ParentPlaceholder
มีเนื้อหาข้อความต่อไปนี้
"text": {
"textElements": [
{ "startIndex": 0, "endIndex": 1,
"paragraphMarker": {
"style": {"alignment": "START", ...},
"bullet": {"nestingLevel": 0, ...}
}
},
{ "startIndex": 0, "endIndex": 1,
"textRun": {
"content": "\n",
"style": {"foregroundColor": {"opaqueColor": {"themeColor": "DARK1"} }, }
...
}
},
{ "startIndex": 1, "endIndex": 2,
"paragraphMarker": {
"style": {"alignment": "END", ...},
"bullet": {"nestingLevel": 1, ...}
}
},
{ "startIndex": 1, "endIndex": 2,
"textRun": {
"content": "\n",
"style": {"foregroundColor": {"opaqueColor": {"themeColor": "LIGHT1"} }, ...}
}
},
...
]
}
และสมมติว่ารูปร่าง ChildPlaceholder
มีเนื้อหาข้อความต่อไปนี้
"text": {
"textElements": [
{ "startIndex": 0, "endIndex": 1,
"paragraphMarker": {
"style": {},
}
},
{ "startIndex": 0, "endIndex": 1,
"textRun": {
"content": "This is my first paragraph\n",
"style": {},
}
...
},
{ "startIndex": 1, "endIndex": 2,
"paragraphMarker": {
"style": {},
"bullet": {
"nestingLevel": 1,
"listId": "someListId",
"glyph": "●"
}
}
},
{ "startIndex": 1, "endIndex": 2,
"textRun": {
"content": "This paragraph is in a list\n",
"style": {},
...
}
}
]
}
ซึ่งจะทำให้เกิดผลลัพธ์ที่อธิบายไว้ในย่อหน้าต่อไปนี้
การสืบทอดรูปแบบสำหรับย่อหน้าธรรมดา
รูปย่อของรูปร่างย่อย ซึ่งมีส่วน ข้อความ "นี่คือย่อหน้าแรกของฉัน" เป็นย่อหน้าธรรมดา (ไม่อยู่ในรายการ) ไม่มีองค์ประกอบใดในเนื้อหาข้อความที่ระบุคุณสมบัติของรูปแบบ จึงนำลักษณะอักขระและย่อหน้าทั้งหมดมาจาก ระดับบนสุด ซึ่งจะทำให้เกิดการแสดงผลต่อไปนี้
- ข้อความ: "นี่คือย่อหน้าแรกของฉัน" คือข้อความที่แสดงผล ตัวข้อความจะไม่เป็น ที่รับช่วงมา
- การจัดข้อความ: ข้อความจะแสดงผลโดยมีการจัดข้อความ
START
ซึ่งรับค่ามาจากParagraphMarker
แรกของผู้ปกครอง - สีพื้นหน้า: ข้อความแสดงผลด้วยสีพื้นหน้า
DARK1
รับค่าจากTextRun
รายการแรกของระดับบนสุด
การสืบทอดรูปแบบสำหรับย่อหน้ารายการ
ย่อหน้าถัดไปซึ่งมีข้อความ "ย่อหน้านี้อยู่ในรายการ" อยู่ใน
รายการสัญลักษณ์หัวข้อย่อยในระดับที่ 1 เนื่องจาก ParagraphMarker
ที่เกี่ยวข้อง
ตั้งค่าฟิลด์ bullet
เป็นระดับนี้ ผลที่เกิดขึ้นคือ จึงรับค่าข้อความและ
รูปแบบย่อหน้าจากระดับที่ 1 ซ้อนกันในระดับบนสุด ซึ่งส่งผลให้เกิด
การแสดงภาพต่อไปนี้:
- ข้อความ: "ย่อหน้านี้อยู่ในรายการ" คือข้อความที่แสดงผล ตัวข้อความจะไม่เป็น ที่รับช่วงมา
- การจัดข้อความ: ข้อความจะแสดงผลด้วย "END" โดยสืบทอดมาจาก
ParagraphMarker
ที่ 2 ของผู้ปกครอง - สีพื้นหน้า: ข้อความแสดงผลด้วยสีพื้นหน้าของข้อความ
LIGHT1
รับมาจากTextRun
รายการที่ 2 ของระดับบนสุด
การโต้ตอบระหว่างการอัปเดตและการรับรูปแบบข้อความและย่อหน้า
รูปแบบข้อความที่ไม่ได้ตั้งค่าในรูปร่างย่อยจะรับค่าจาก หลัก รูปแบบข้อความที่กำหนดไว้ในรายการย่อยจะ "ลบล้าง" ค่าระดับบนสุด ในขอบเขตภายในบางอย่าง
คุณสามารถใช้ UpdateTextStyleRequest เพื่อยกเลิกการตั้งค่ารูปแบบข้อความของรูปร่างย่อย เพื่อให้ไม่มีการลบล้างภายในเครื่องอีกต่อไป และจึงสืบทอดสไตล์ของไพ่มาจากรูปร่างหลัก นอกจากนี้ การอัปเดต รูปแบบข้อความของบุตรหลานให้ตรงกับค่าที่รับช่วงมาจากระดับบน ยกเลิกการตั้งค่าสไตล์โดยนัยเพื่อให้ใช้รูปแบบที่รับช่วงมา
การดําเนินการนี้ไม่ส่งผลต่อภาพ ลักษณะของข้อความทันทีหลังจากที่อัปเดต แต่ต่อไปก็อาจเป็นปัญหา อัปเดตย่อหน้าหรือรูปแบบข้อความในตัวยึดตำแหน่งระดับบนสุด การสืบทอดนี้ นี้จะตรงกันกับการทำงานของเครื่องมือแก้ไขสไลด์ ผลลัพธ์ของการเปลี่ยนแปลงรูปแบบก่อนที่จะทำงานกับ API
ตัวอย่าง
ลองพิจารณาคำจำกัดความในตัวอย่างก่อนหน้านี้สำหรับ
ChildPlaceholder
และ ParentPlaceholder
สมมติว่าคุณส่ง UpdateTextStyleRequest นี้
{ "updateTextStyle": {
"objectId": "ChildPlaceholder",
"style": {"foregroundColor": {"opaqueColor": {"themeColor": "DARK1"} }, },
"textRange": { "type": "ALL" },
"fields": "foregroundColor"
}
}
คำขอนี้พยายามตั้งค่า DARK1
backgroundColor เป็นสีทั้งหมดของ
ข้อความของตัวยึดตำแหน่งย่อยโดยใช้มาสก์ของช่อง
เพื่อระบุว่าควรเปลี่ยนเฉพาะสีพื้นหน้าขององค์ประกอบเท่านั้น ช่วงเวลานี้
มีผลลัพธ์ดังต่อไปนี้
- ย่อหน้าแรก:
foregroundColor
ใหม่ตรงกับรายการที่รับช่วงมาforegroundColor
ดังนั้นรูปแบบนี้จะไม่มีการเปลี่ยนแปลงและยังคงรับค่าเดิม - ย่อหน้าที่ 2:
foregroundColor
ใหม่ไม่ตรงกับที่รับช่วงมาforegroundColor
ดังนั้นสีพื้นหน้าของย่อหน้าที่ 2 จะได้รับการอัปเดตเป็นDARK1
เนื้อหาข้อความของตัวยึดตำแหน่งเด็กตอนนี้คือ
"text": {
"textElements": [
{ "startIndex": 0, "endIndex": 1,
"paragraphMarker": {
"style": {},
}
},
{ "startIndex": 0, "endIndex": 1,
"textRun": {
"content": "This is my first paragraph\n",
"style": {},
}
...
},
{ "startIndex": 1, "endIndex": 2,
"paragraphMarker": {
"style": {},
"bullet": {"nestingLevel": 1, "listId": "someListId", "glyph": "●" }
}
},
{ "startIndex": 1, "endIndex": 2,
"textRun": {
"content": "This paragraph is in a list\n",
"style": {"foregroundColor": {"opaqueColor": {"themeColor": "DARK1"} }, },
...
}
}
]
}
รูปแบบข้อความสัญลักษณ์หัวข้อย่อย
เช่นเดียวกับข้อความปกติ สัญลักษณ์หัวข้อย่อยจะมีรูปแบบข้อความที่ควบคุมรูปแบบของอักขระ แสดงขึ้น แก้ไขรูปแบบข้อความเหล่านี้โดยใช้ Slides API ไม่ได้ โดยตรง อย่างไรก็ตาม หากคุณใช้ UpdateTextStyleRequest เพื่ออัปเดตย่อหน้าที่มีหัวข้อย่อยครบถ้วน Slides API จะอัปเดต รูปแบบข้อความของสัญลักษณ์หัวข้อย่อยให้ตรง
รูปแบบข้อความสัญลักษณ์หัวข้อย่อยมีลำดับขั้นการสืบทอดค่าที่แตกต่างจากการสืบทอดค่าเล็กน้อย รูปแบบข้อความปกติ
- หัวข้อย่อยในระดับที่ซ้อนบางระดับจะรับค่าจากชุด
TextStyle
ก่อน ในช่องNestingLevel.bullet_style
ภายในออบเจ็กต์List
ของหัวข้อย่อย - ถัดไปจะรับค่าจาก
NestingLevel.bullet_style
ที่เกี่ยวข้องในList
ของตัวยึดตำแหน่งระดับบนสุด - สุดท้ายก็ต้องการรับค่าจากออบเจ็กต์ตัวยึดตำแหน่งระดับบนสุด