Google เอกสาร API รองรับการสร้างรายการในเอกสารใหม่ การแปลงย่อหน้าข้อความธรรมดาที่มีอยู่เป็นรายการแบบมีหัวข้อย่อย และการนำหัวข้อย่อยออกจากย่อหน้า
สร้างรายการที่เรียงหมายเลขในเอกสารใหม่
Docs API รองรับการสร้างรายการแบบมีหมายเลขในเอกสารใหม่โดย การแทรกข้อความแล้วใช้รูปแบบรายการกับข้อความในคำขอแบบกลุ่มเดียว
วิธีสร้างรายการที่เรียงหมายเลขในเอกสารใหม่
ใช้เมธอด
documents.createเพื่อสร้างเอกสารใช้วิธี
documents.batchUpdateและระบุInsertTextRequestเพื่อเพิ่มเนื้อหาลงในเอกสาร ใช้อักขระขึ้นบรรทัดใหม่ (\n) เพื่อคั่น รายการในลิสต์ในการอัปเดตแบบเป็นชุดเดียวกัน ให้ใส่
CreateParagraphBulletsRequestRangeเพื่อ ระบุช่วงของข้อความ และBulletGlyphPresetเพื่อตั้งค่ารูปแบบการกำหนดหมายเลข
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างเอกสาร แล้วแทรกรายการ 3 รายการเป็นรายการที่เรียงตามหมายเลข
BulletGlyphPreset ใช้
NUMBERED_DECIMAL_ALPHA_ROMAN เพื่อจัดรูปแบบรายการ ซึ่งหมายความว่าระดับการซ้อน 3 ระดับแรกของรายการที่เรียงหมายเลขจะแสดงด้วยตัวเลขทศนิยม ตัวอักษรพิมพ์เล็ก และเลขโรมันตัวพิมพ์เล็ก
Java
Document doc = new Document().setTitle("New List Document"); doc = docsService.documents().create(doc).execute(); String documentId = doc.getDocumentId(); List<Request> requests = new ArrayList<>(); requests.add(new Request().setInsertText(new InsertTextRequest() .setText("Item 1\nItem 2\nItem 3\n") .setLocation(new Location().setIndex(1).setTabId(TAB_ID)))); requests.add(new Request().setCreateParagraphBullets( new CreateParagraphBulletsRequest() .setRange(new Range() .setStartIndex(1) .setEndIndex(22) .setTabId(TAB_ID)) .setBulletPreset("NUMBERED_DECIMAL_ALPHA_ROMAN"))); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); docsService.documents().batchUpdate(documentId, body).execute(); System.out.println("Created document with ID: " + documentId);
Python
title = 'New List Document' body = {'title': title} doc = service.documents().create(body=body).execute() document_id = doc.get('documentId') requests = [ { 'insertText': { 'location': { 'index': 1, 'tabId': TAB_ID }, 'text': 'Item 1\nItem 2\nItem 3\n' } }, { 'createParagraphBullets': { 'range': { 'startIndex': 1, 'endIndex': 22, 'tabId': TAB_ID }, 'bulletPreset': 'NUMBERED_DECIMAL_ALPHA_ROMAN' } } ] result = service.documents().batchUpdate( documentId=document_id, body={'requests': requests}).execute() print(f"Created document with ID: {document_id}")
แทนที่ TAB_ID ด้วยรหัสของ แท็บ ที่มีเนื้อหารายการ
แปลงย่อหน้าเป็นรายการ
การดำเนินการจัดรูปแบบย่อหน้าทั่วไปคือการแปลงย่อหน้าที่มีอยู่เป็น รายการที่มีหัวข้อย่อย
หากต้องการสร้างรายการ ให้ใช้วิธี
documents.batchUpdate
และระบุ
CreateParagraphBulletsRequest
ใส่ Range เพื่อ
ระบุข้อความที่ได้รับผลกระทบและ
BulletGlyphPreset
เพื่อกำหนดรูปแบบสำหรับหัวข้อย่อย
ย่อหน้าทั้งหมดที่ทับซ้อนกับช่วงที่ระบุจะมีสัญลักษณ์แสดงหัวข้อย่อย หากช่วงที่ระบุทับซ้อนกับตาราง ระบบจะใช้หัวข้อย่อยภายในเซลล์ของตาราง ระดับการซ้อนของแต่ละย่อหน้าจะกำหนดโดยการนับแท็บนำหน้า ของแต่ละย่อหน้า
คุณปรับระดับการซ้อนของหัวข้อย่อยที่มีอยู่ไม่ได้ แต่คุณต้อง ลบหัวข้อย่อย ตั้งค่าแท็บนำหน้าย่อหน้า แล้ว สร้างหัวข้อย่อยอีกครั้ง ดูข้อมูลเพิ่มเติมได้ที่นำสัญลักษณ์แสดงหัวข้อย่อยออกจาก รายการ
นอกจากนี้ คุณยังใช้ CreateParagraphBulletsRequest เพื่อเปลี่ยนรูปแบบหัวข้อย่อยสำหรับรายการที่มีอยู่ได้ด้วย
ตัวอย่างโค้ดต่อไปนี้แสดงคำขอแบบกลุ่มที่แทรกข้อความที่
จุดเริ่มต้นของเอกสารก่อน จากนั้นจะสร้างรายการจากย่อหน้าที่ครอบคลุม
อักขระ 50 ตัวแรก BulletGlyphPreset ใช้
BULLET_ARROW_DIAMOND_DISC ซึ่งหมายความว่าระดับการซ้อน 3 ระดับแรกของ
รายการแบบมีหัวข้อย่อยจะแสดงด้วยลูกศร เพชร และวงกลม
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setInsertText(new InsertTextRequest() .setText("Item One\n") .setLocation(new Location().setIndex(1).setTabId(TAB_ID)))); requests.add(new Request().setCreateParagraphBullets( new CreateParagraphBulletsRequest() .setRange(new Range() .setStartIndex(1) .setEndIndex(50) .setTabId(TAB_ID)) .setBulletPreset("BULLET_ARROW_DIAMOND_DISC"))); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'insertText': { 'location': { 'index': 1, 'tabId': TAB_ID }, 'text': 'Item One\n', }}, { 'createParagraphBullets': { 'range': { 'startIndex': 1, 'endIndex': 50, 'tabId': TAB_ID }, 'bulletPreset': 'BULLET_ARROW_DIAMOND_DISC', } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
แทนที่ TAB_ID ด้วยรหัสของ แท็บ ที่มีเนื้อหารายการ หรือละเว้นเพื่อใช้แท็บแรกในเอกสารเป็นค่าเริ่มต้น
นำสัญลักษณ์แสดงหัวข้อย่อยออกจากรายการ
หากต้องการนำหัวข้อย่อยออกจากรายการย่อหน้า ให้ใช้วิธี
documents.batchUpdate
และระบุ
DeleteParagraphBulletsRequest
ใส่ Range เพื่อ
ระบุข้อความที่ได้รับผลกระทบ
เมธอดนี้จะลบหัวข้อย่อยทั้งหมดที่ทับซ้อนกับช่วงที่ระบุ ไม่ว่าจะมีระดับการซ้อนเท่าใดก็ตาม ระบบจะเพิ่มการเยื้องที่จุดเริ่มต้นของแต่ละย่อหน้าเพื่อให้เห็นระดับการซ้อนกัน
ตัวอย่างโค้ดต่อไปนี้แสดงคำขอแบบกลุ่มที่ลบหัวข้อย่อยออกจาก รายการย่อหน้า
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setDeleteParagraphBullets( new DeleteParagraphBulletsRequest() .setRange(new Range() .setStartIndex(1) .setEndIndex(50) .setTabId(TAB_ID)))); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'deleteParagraphBullets': { 'range': { 'startIndex': 1, 'endIndex': 50, 'tabId': TAB_ID }, } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, body={'requests': requests}).execute()
แทนที่ TAB_ID ด้วยรหัสของ แท็บ ที่มีเนื้อหารายการ หรือละเว้นเพื่อใช้แท็บแรกในเอกสารเป็นค่าเริ่มต้น