Halaman ini memberi tahu Anda cara memformat teks menggunakan Google Dokumen API.
Tentang pemformatan
Ada dua jenis pemformatan yang dapat Anda terapkan ke konten teks dokumen:
- Anda dapat mengubah format karakter seperti font, warna, atau garis bawah.
- Anda dapat mengubah format paragraf seperti indentasi atau spasi baris.
Mengubah pemformatan karakter
Pemformatan karakter menentukan rendering karakter teks dalam dokumen Anda.
Setiap format yang Anda terapkan akan menggantikan format default yang diwarisi dari TextStyle paragraf pokok. Sebaliknya, setiap karakter yang formatnya tidak Anda tetapkan akan terus mewarisi dari gaya paragraf.
Untuk mengubah format karakter teks, gunakan batchUpdate
dengan UpdateTextStyleRequest.
Anda harus memberikan objek Range
yang menyertakan informasi berikut:
segmentId
yang mengidentifikasi header, footer, catatan kaki—atau, jika tidak ditentukan, isi—yang berisi teks.startIndex
danendIndex
yang menentukan rentang teks dalam segmen yang akan diformat.tabId
yang mengidentifikasi tab mana yang berisi teks.
Contoh berikut melakukan beberapa operasi gaya teks pada teks yang terdapat dalam header:
- Menetapkan font karakter 1-5 ke tebal miring.
- Menetapkan warna karakter 6-10 ke
blue
dengan font Times New Roman 14-pt. - Membuat hyperlink karakter 11-15 ke
www.example.com
.
Cara langsung untuk melakukan ini adalah dengan membuat daftar permintaan, lalu menggunakan satu panggilan 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()
Mengubah pemformatan paragraf
Google Docs API memungkinkan Anda memperbarui pemformatan paragraf, yang menentukan cara blok teks dirender dalam dokumen, termasuk fitur seperti perataan dan indentasi.
Semua format yang Anda terapkan akan menggantikan format default yang diwarisi dari gaya paragraf yang mendasarinya. Sebaliknya, fitur pemformatan apa pun yang tidak Anda tetapkan akan terus mewarisi dari gaya paragraf. Untuk mengetahui informasi selengkapnya tentang gaya dan pewarisan paragraf, lihat ParagraphStyle.
Contoh di bawah menentukan format berikut untuk paragraf:
- Judul sebagai gaya bernama
- Spasi kustom di atas
- Spasi kustom di bawah
- Batas kiri kustom
Semua fitur pemformatan paragraf lainnya terus mewarisi dari gaya yang dinamai yang mendasarinya.
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()