Bu sayfada, Google Dokümanlar API'sı kullanılarak metinlerin nasıl biçimlendirileceği açıklanmaktadır.
Biçimlendirme hakkında
Metne uygulayabileceğiniz iki farklı biçimlendirme türü vardır dokümanınızın içeriği:
- Yazı tipi, renk veya alt çizgi gibi karakter biçimlendirmelerini değiştirebilirsiniz.
- Paragraf biçimlendirmesini, girinti veya satır aralığı gibi değiştirebilirsiniz.
Karakter biçimlendirmesini değiştirme
Karakter biçimlendirmesi, uygulayacaksınız.
Uyguladığınız biçimlendirmeler, devralınan varsayılan biçimlendirmeyi geçersiz kılar alt kısımdaki paragrafın TextStyle'ını kullanın. Öte yandan, biçimlendirmesini ayarlamadığınız karakterler değiştirebilirsiniz.
Metnin karakter biçimlendirmesini değiştirmek için batchUpdate
öğesini
UpdateTextStyleRequest.
Aralık belirtmeniz gerekir.
şunu içeren bir nesne olacaktır:
- Bir
segmentId
üstbilgi, altbilgi, dipnot veya belirtilmemişse, gövde - metni içerir. - içindeki metin aralığını tanımlayan
startIndex
veendIndex
biçimlendirilmesi gerekir. - Hangi sekmenin metni içerdiğini tanımlayan bir
tabId
.
Aşağıdaki örnekte, metin üzerinde çeşitli metin biçimlendirme işlemleri içerir:
- 1-5 arasındaki karakterlerin yazı tipini kalın italik olarak ayarlar.
- 6-10 arası karakterlerin rengini
blue
14 punto Times New Roman yazı tipine ayarlar. - 11-15 arasındaki karakterlere
www.example.com
bağlantısı veriyor.
Bunu yapmanın kolay bir yolu istek listesi hazırlamak ve tek bir batchUpdate arayın:
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()
Paragraf biçimlendirmesini değiştirme
Google Dokümanlar API'sı paragraf biçimlendirmesini güncellemenize olanak tanır. Bu güncelleme, Hizalama gibi özellikler de dahil olmak üzere dokümanınızda metin blokları oluşturulur girin.
Uyguladığınız biçimlendirmeler, devralınan varsayılan biçimlendirmeyi geçersiz kılar kullanmam gerekecek. Öte yandan, kullandığınız tüm biçimlendirme özellikleri paragraf stilinden devralmaya devam olarak ayarlamayın. Paragraf hakkında daha fazla bilgi için stiller ve devralma hakkında ParagraphStyle.
Aşağıdaki örnekte bir paragraf için şu biçimlendirme gösterilmektedir:
- Adlandırılmış stil olarak bir başlık
- Yukarıda özel aralık
- Altta özel aralık
- Özel bir sol kenarlık
Paragrafın geri kalan tüm biçimlendirme özellikleri temel adlandırılmış stildir.
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()