Metni Biçimlendir

Bu sayfada, Google Dokümanlar API'sını kullanarak metni nasıl biçimlendireceğiniz gösterilmektedir.

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çimlendirmesini değiştirebilirsiniz.
  • Girinti veya satır aralığı gibi paragraf biçimlendirmesini değiştirebilirsiniz.

Karakter biçimlendirmesini değiştirme

Karakter biçimlendirme, dokümanınızdaki metin karakterlerinin oluşturulmasını belirler.

Uyguladığınız tüm biçimlendirmeler, temel paragrafın TextStyle öğesinden 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 batchUpdate kullanın. Aşağıdaki bilgileri içeren bir Aralık nesnesi sağlamanız gerekir:

  • Metni hangi üstbilgi, altbilgi, dipnot veya belirtilmediyse gövdenin içerdiğini tanımlayan segmentId.
  • Segmentte biçimlendirilecek metin aralığını tanımlayan startIndex ve endIndex.

Aşağıdaki örnekte, başlıkta yer alan metin üzerinde çeşitli metin biçimlendirme işlemleri gerçekleştirilir:

  • 1-5 arasındaki karakterlerin yazı tipini kalın italik olacak şekilde ayarlar.
  • 6-10 arası karakterlerin rengini blue 14 punto Times New Roman yazı tipi olarak ayarlar.
  • 11-15 arası karakterler ile www.example.com arasında köprü oluşturur.

Bunu yapmanın doğrudan bir yolu, istek listesi oluşturmak ve ardından tek 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, hizalama ve girinti gibi özellikler dahil, dokümanınızda metin bloklarının nasıl oluşturulduğunu belirleyen paragraf biçimlendirmesini güncellemenize olanak tanır.

Uyguladığınız tüm biçimlendirmeler, temel paragraf stilinden devralınan varsayılan biçimlendirmeyi geçersiz kılar. Buna karşılık, ayarlamadığınız tüm biçimlendirme özellikleri paragraf stilinden devralmaya devam eder. Paragraf stilleri ve devralma hakkında daha fazla bilgi için ParagrafStyle bölümüne bakın.

Aşağıdaki örnekte, bir paragraf için şu biçimlendirme belirtilmektedir:

  • Başlık, adlandırılmış stil olarak
  • Yukarıdaki özel aralık
  • Alttaki özel aralık
  • Özel sol kenarlık

Paragrafın geri kalan tüm biçimlendirme özellikleri, temeldeki adlandırılmış stilden devralmaya 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()