Metni Biçimlendir

Bu sayfada, Google Dokümanlar API'sı kullanılarak metinlerin nasıl biçimlendirileceği açıklanmaktadır.

Biçimlendirme hakkında

Dokümanınızın metin içeriğine uygulayabileceğiniz iki farklı biçimlendirme türü vardır:

  • 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, dokümanınızda metin karakterlerinin oluşturulma biçimini belirler.

Uyguladığınız herhangi bir biçimlendirme, temel paragrafın TextStyle özelliğinden devralınan varsayılan biçimlendirmeyi geçersiz kılar. Buna karşılık, biçimlendirmesini ayarlamadığınız karakterler paragrafın stillerinden devralmaya devam eder.

Metnin karakter biçimlendirmesini değiştirmek için UpdateTextStyleRequest ile birlikte batchUpdate kullanın. Aşağıdaki bilgileri içeren bir Aralık nesnesi sağlamanız gerekir:

  • Metni hangi üstbilgi, altbilgi, dipnot (ya da belirtilmemişse gövde) tanımlayan bir segmentId.
  • Biçimlendirilecek segmentteki metin aralığını tanımlayan startIndex ve endIndex.

Aşağıdaki örnekte, başlıkta yer alan metin üzerinde birkaç metin biçimlendirme işlemi gerçekleştirilmektedir:

  • 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 oluşturmak ve ardından bir batchUpdate çağrısı kullanmaktır:

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))
                .setFields("bold")));

        requests.add(new Request()
                .setUpdateTextStyle(new UpdateTextStyleRequest()
                        .setRange(new Range()
                                .setStartIndex(6)
                                .setEndIndex(10))
                        .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))
                        .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
                },
                'textStyle': {
                    'bold': True,
                    'italic': True
                },
                'fields': 'bold,italic'
            }
        },
        {
            'updateTextStyle': {
                'range': {
                    'startIndex': 6,
                    'endIndex': 10
                },
                '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
                },
                '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 Docs API'yi kullanarak paragraf biçimlendirmesini güncelleyebilirsiniz. Bu güncelleme, hizalama ve girinti gibi özellikler de dahil olmak üzere metin bloklarının dokümanınızda nasıl oluşturulacağını belirler.

Uyguladığınız herhangi bir biçimlendirme, temel paragraf stilinden devralınan varsayılan biçimlendirmeyi geçersiz kılar. Öte yandan, ayarlamadığınız tüm biçimlendirme özellikleri paragraf stilinden devralınmaya devam eder. Paragraf stilleri ve devralma hakkında daha fazla bilgi için ParagraphStyle bölümüne bakın.

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ış stilden devralınmaya devam eder.

Java

        List<Request> requests = new ArrayList<>();
        requests.add(new Request().setUpdateParagraphStyle(new UpdateParagraphStyleRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(10))
                .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))
                .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
                },
                '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
                },
                '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()