จัดรูปแบบข้อความ

หน้านี้จะบอกวิธีจัดรูปแบบข้อความโดยใช้ Google เอกสาร API

เกี่ยวกับการจัดรูปแบบ

มีการจัดรูปแบบที่แตกต่างกัน 2 ประเภทที่คุณสามารถใช้กับข้อความได้ ของเนื้อหาในเอกสาร

  • คุณเปลี่ยนการจัดรูปแบบอักขระ เช่น แบบอักษร สี หรือการขีดเส้นใต้ได้
  • คุณสามารถเปลี่ยนการจัดรูปแบบย่อหน้า เช่น การเยื้องหรือระยะห่างระหว่างบรรทัด

การเปลี่ยนการจัดรูปแบบอักขระ

การจัดรูปแบบอักขระจะกำหนดการแสดงผลของอักขระข้อความใน เอกสาร

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

หากต้องการเปลี่ยนการจัดรูปแบบอักขระของข้อความ ให้ใช้ batchUpdate กับ UpdateTextStyleRequest. คุณต้องระบุช่วง ที่มีข้อมูลต่อไปนี้

  • segmentId ที่ระบุว่าส่วนหัว ส่วนท้าย เชิงอรรถ หรือ ไม่ได้ระบุ แต่เนื้อหา ประกอบด้วยข้อความ
  • startIndex และ endIndex ที่กำหนดช่วงของข้อความภายใน กลุ่มที่จะจัดรูปแบบ
  • tabId ที่ระบุว่าแท็บใดมีข้อความ

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

  • ตั้งค่าแบบอักษรของอักขระ 1-5 เป็นตัวเอียงหนา
  • ตั้งค่าสีของอักขระ 6-10 ถึง blue ขนาด 14 พอยต์ Times New Roman แบบอักษร
  • อักขระไฮเปอร์ลิงก์ 11-15 ถึง www.example.com

วิธีง่ายๆ ในการทำเช่นนั้นคือ สร้างรายการคำขอแล้ว โดยใช้ batchUpdate เพียงครั้งเดียว โทร:

Java

List<Request> requests = new ArrayList<>();
requests.add(new Request().setUpdateTextStyle(new UpdateTextStyleRequest()
        .setTextStyle(new TextStyle()
                .setBold(true)
                .setItalic(true))
        .setRange(new Range()
                .setStartIndex(1)
                .setEndIndex(5)
                .setTabId(TAB_ID))
        .setFields("bold")));

requests.add(new Request()
        .setUpdateTextStyle(new UpdateTextStyleRequest()
                .setRange(new Range()
                        .setStartIndex(6)
                        .setEndIndex(10)
                        .setTabId(TAB_ID))
                .setTextStyle(new TextStyle()
                        .setWeightedFontFamily(new WeightedFontFamily()
                                .setFontFamily("Times New Roman"))
                        .setFontSize(new Dimension()
                                .setMagnitude(14.0)
                                .setUnit("PT"))
                        .setForegroundColor(new OptionalColor()
                                .setColor(new Color().setRgbColor(new RgbColor()
                                        .setBlue(1.0F)
                                        .setGreen(0.0F)
                                        .setRed(0.0F)))))
                .setFields("foregroundColor,weightedFontFamily,fontSize")));

requests.add(new Request()
        .setUpdateTextStyle(new UpdateTextStyleRequest()
                .setRange(new Range()
                        .setStartIndex(11)
                        .setEndIndex(15)
                        .setTabId(TAB_ID))
                .setTextStyle(new TextStyle()
                        .setLink(new Link()
                                .setUrl("www.example.com")))
                .setFields("link")));


BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(DOCUMENT_ID, body).execute();



Python

requests = [
    {
        'updateTextStyle': {
            'range': {
                'startIndex': 1,
                'endIndex': 5,
                'tabId': TAB_ID
            },
            'textStyle': {
                'bold': True,
                'italic': True
            },
            'fields': 'bold,italic'
        }
    },
    {
        'updateTextStyle': {
            'range': {
                'startIndex': 6,
                'endIndex': 10,
                'tabId': TAB_ID
            },
            'textStyle': {
                'weightedFontFamily': {
                    'fontFamily': 'Times New Roman'
                },
                'fontSize': {
                    'magnitude': 14,
                    'unit': 'PT'
                },
                'foregroundColor': {
                    'color': {
                        'rgbColor': {
                            'blue': 1.0,
                            'green': 0.0,
                            'red': 0.0
                        }
                    }
                }
            },
            'fields': 'foregroundColor,weightedFontFamily,fontSize'
        }
    },
    {
        'updateTextStyle': {
            'range': {
                'startIndex': 11,
                'endIndex': 15,
                'tabId': TAB_ID
            },
            'textStyle': {
                'link': {
                    'url': 'www.example.com'
                }
            },
            'fields': 'link'
        }
    }
]

result = service.documents().batchUpdate(
    documentId=DOCUMENT_ID, body={'requests': requests}).execute()

การเปลี่ยนการจัดรูปแบบย่อหน้า

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

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

ตัวอย่างด้านล่างจะระบุการจัดรูปแบบต่อไปนี้สำหรับย่อหน้า

  • ส่วนหัวในรูปแบบที่มีชื่อ
  • กำหนดระยะห่างเองด้านบน
  • กำหนดระยะห่างเองด้านล่าง
  • เส้นขอบด้านซ้ายที่กำหนดเอง

คุณลักษณะการจัดรูปแบบที่เหลือทั้งหมดของย่อหน้ายังคงรับช่วงมาจาก รูปแบบที่มีชื่อที่เกี่ยวข้อง

Java

List<Request> requests = new ArrayList<>();
requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest()
        .setRange(new Range()
                .setStartIndex(1)
                .setEndIndex(10)
                .setTabId(TAB_ID))
        .setParagraphStyle(new ParagraphStyle()
                .setNamedStyleType("HEADING_1")
                .setSpaceAbove(new Dimension()
                        .setMagnitude(10.0)
                        .setUnit("PT"))
                .setSpaceBelow(new Dimension()
                        .setMagnitude(10.0)
                        .setUnit("PT")))
        .setFields("namedStyleType,spaceAbove,spaceBelow")
));

requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest()
        .setRange(new Range()
                .setStartIndex(10)
                .setEndIndex(20)
                .setTabId(TAB_ID))
        .setParagraphStyle(new ParagraphStyle()
                .setBorderLeft(new ParagraphBorder()
                        .setColor(new OptionalColor()
                                .setColor(new Color()
                                        .setRgbColor(new RgbColor()
                                                .setBlue(1.0F)
                                                .setGreen(0.0F)
                                                .setRed(0.0F)
                                        )
                                )
                        )
                        .setDashStyle("DASH")
                        .setPadding(new Dimension()
                                .setMagnitude(20.0)
                                .setUnit("PT"))
                        .setWidth(new Dimension()
                                .setMagnitude(15.0)
                                .setUnit("PT")
                        )
                )
        )
        .setFields("borderLeft")
));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(DOCUMENT_ID, body).execute();

Python

requests = [
    {
        'updateParagraphStyle': {
            'range': {
                'startIndex': 1,
                'endIndex':  10,
                'tabId': TAB_ID
            },
            'paragraphStyle': {
                'namedStyleType': 'HEADING_1',
                'spaceAbove': {
                    'magnitude': 10.0,
                    'unit': 'PT'
                },
                'spaceBelow': {
                    'magnitude': 10.0,
                    'unit': 'PT'
                }
            },
            'fields': 'namedStyleType,spaceAbove,spaceBelow'
        }
    },
    {
        'updateParagraphStyle': {
            'range': {
                'startIndex': 10,
                'endIndex':  20,
                'tabId': TAB_ID
            },
            'paragraphStyle': {
                'borderLeft': {
                    'color': {
                        'color': {
                            'rgbColor': {
                                'blue': 1.0,
                                'green': 0.0,
                                'red': 0.0
                            }
                        }
                    },
                    'dashStyle': 'DASH',
                    'padding': {
                        'magnitude': 20.0,
                        'unit': 'PT'
                    },
                    'width': {
                        'magnitude': 15.0,
                        'unit': 'PT'
                    },
                }
            },
            'fields': 'borderLeft'
        }
    }
]

result = service.documents().batchUpdate(
    documentId=DOCUMENT_ID, body={'requests': requests}).execute()