ใน API ของ Slides ข้อความจะอยู่ในรูปร่างหรือในเซลล์ของตารางได้ ก่อนจะปรับเปลี่ยนและจัดรูปแบบข้อความ คุณต้องเข้าใจโครงสร้างและวิธีการทำงานของการจัดรูปแบบ
หน้านี้จะอธิบายวิธีแสดงข้อความใน 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
องค์ประกอบของข้อความแต่ละรายการจะมีดัชนีเริ่มต้นและดัชนีสิ้นสุดแบบเลข 0 ซึ่งอธิบายตำแหน่งขององค์ประกอบภายในข้อความแบบเต็มขององค์ประกอบหน้าร่วมกับออบเจ็กต์ข้อความประเภทใดประเภทหนึ่งต่อไปนี้
ประเภทข้อความ | คำอธิบาย |
---|---|
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 จะนำหัวข้อย่อยที่มีอยู่ในย่อหน้าออก
รูปแบบที่รับช่วงมา
รูปร่างบางรายการหรือที่เรียกว่าplaceholdersสามารถรับรูปแบบข้อความจากรูปร่างระดับบนสุดอื่นๆ ได้ โปรดดูplaceholdersเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการสืบทอดรูปร่างโดยทั่วไป
ส่วนนี้จะเน้นที่วิธีการทำงานของการรับช่วงสไตล์เพื่อสร้างรูปแบบข้อความสุดท้ายที่แสดงผลที่แสดงในสไลด์
การแสดงรูปแบบในตัวยึดตำแหน่ง
ส่วนบนplaceholdersจะอธิบายวิธีการทำงานของการรับช่วงค่าระหว่างรูปร่างหลักและรูปร่างย่อย การสืบทอดรูปแบบข้อความได้รับการจัดการโดยฟีเจอร์เพิ่มเติมภายในโมเดลการสืบทอด ซึ่งได้แก่
- คุณสมบัติขององค์ประกอบข้อความ ParagraphMaker กำหนดการจัดรูปแบบย่อหน้า
- คุณสมบัติขององค์ประกอบข้อความ TextRun จะกำหนดการจัดรูปแบบอักขระ
- เนื้อหาของตัวยึดตำแหน่งระดับบนสุดจะมีคู่ ParagraphMarker/TextRun ดังกล่าว 8 คู่ (เพื่อรองรับการซ้อนรายการ 8 ระดับ)
- ตัวยึดตำแหน่งย่อยจะรับค่าพร็อพเพอร์ตี้ข้อความเริ่มต้นจากองค์ประกอบข้อความเหล่านี้ในเนื้อหาข้อความของระดับบนสุด
แผนภาพต่อไปนี้จะแสดงวิธีหนึ่งในการแสดงความสัมพันธ์เหล่านี้
ParagraphMarker/TextRun แรกในรูปร่างระดับบนสุดจะเป็นตัวกำหนดการจัดรูปแบบข้อความที่รับค่ามาส่วนใหญ่ การจัดรูปแบบใน 7 คู่ที่เหลือจะมีผลเฉพาะกับย่อหน้าที่ระดับหัวข้อย่อยที่ซ้อนลึกขึ้นเรื่อยๆ
คู่องค์ประกอบข้อความหลัก | การจัดรูปแบบย่อยที่มันควบคุม |
---|---|
ParagraphMarker แรก TextRun แรก |
รูปแบบข้อความระดับ 0 (ชั้นนอก) ของย่อหน้ารายการและย่อหน้าที่ไม่อยู่ในรายการทั้งหมด |
ที่สอง ParagraphMarker วินาที TextRun |
รูปแบบข้อความของระดับรายการ (ซ้อน) ที่เหลือ 1-7 |
ParagraphMarker ที่ 3 TextRun ที่ 3 |
|
ที่ 4 ParagraphMarker TextRun ที่ 4 |
|
ที่ห้า ParagraphMarker ที่ 5 TextRun |
|
ที่หก ParagraphMarker ที่ TextRun ที่หก |
|
7 ParagraphMarker 7 TextRun |
|
แปด ParagraphMarker แปด 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
ให้กับข้อความทั้งหมดของ
Childplaceholder โดยใช้ฟิลด์มาสก์
เพื่อระบุว่าควรเปลี่ยนเฉพาะสีพื้นหน้าขององค์ประกอบเท่านั้น คําขอนี้มีผลลัพธ์ดังต่อไปนี้
- ย่อหน้าแรก:
foregroundColor
ใหม่ตรงกับforegroundColor
ที่รับช่วงมา ดังนั้นสไตล์นี้จะไม่เปลี่ยนแปลงและยังคงรับค่าเดิมมา - ย่อหน้าที่ 2:
foregroundColor
ใหม่ไม่ตรงกับforegroundColor
ที่รับช่วงมา ดังนั้นสีพื้นหน้าของย่อหน้าที่ 2 จะอัปเดตเป็นDARK1
เนื้อหาข้อความของ 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": {"foregroundColor": {"opaqueColor": {"themeColor": "DARK1"} }, },
...
}
}
]
}
รูปแบบข้อความสัญลักษณ์หัวข้อย่อย
สัญลักษณ์หัวข้อย่อยมีรูปแบบข้อความที่ควบคุมลักษณะการแสดงรูปอักขระเช่นเดียวกับข้อความปกติ คุณไม่สามารถเปลี่ยนรูปแบบข้อความเหล่านี้โดยใช้ Slides API โดยตรง อย่างไรก็ตาม หากคุณใช้ UpdateTextStyleRequest เพื่ออัปเดตย่อหน้าที่สมบูรณ์ที่มีสัญลักษณ์หัวข้อย่อย Slides API จะอัปเดตรูปแบบข้อความของรูปสัญลักษณ์หัวข้อย่อยให้ตรงกัน
รูปแบบข้อความสัญลักษณ์หัวข้อย่อยจะเป็นไปตามลำดับชั้นของการสืบทอดที่แตกต่างจากรูปแบบข้อความปกติเล็กน้อย
- หัวข้อย่อยที่ระดับการซ้อนบางระดับจะรับค่าจากชุด
TextStyle
ในช่องNestingLevel.bullet_style
ภายในออบเจ็กต์List
ของหัวข้อย่อย - ลำดับถัดไปจะรับค่าจาก
NestingLevel.bullet_style
ที่เกี่ยวข้องในList
ของตัวยึดตำแหน่งระดับบนสุด - และสุดท้ายก็จะพยายามรับค่าจากออบเจ็กต์ตัวยึดตําแหน่งระดับบนสุดที่เหลือ