Listelerle çalışma

Google Docs API, düz paragrafların madde işaretli listelere dönüştürülmesini ve paragraflardaki madde işaretlerinin kaldırılmasını destekler.

Bir paragrafı listeye dönüştürme

Yaygın bir paragraf biçimlendirme işlemi, paragrafları madde işaretli bir listeye dönüştürmektir.

Liste oluşturmak için documents.batchUpdate yöntemini kullanın ve bir CreateParagraphBulletsRequest sağlayın. Etkilenen hücreleri belirtmek için Range, madde işaretinin kalıbını ayarlamak için de BulletGlyphPreset ekleyin.

Belirtilen aralıkla çakışan tüm paragraflar madde işaretlidir. Belirtilen aralık bir tabloyla çakışırsa madde işaretleri tablo hücrelerine uygulanır. Her paragrafın iç içe yerleştirme seviyesi, her paragrafın önündeki sekmeler sayılarak belirlenir.

Mevcut bir madde işaretinin iç içe yerleştirme seviyesini ayarlayamazsınız. Bunun yerine, madde işaretini silmeniz, paragrafın başındaki sekmeleri ayarlamanız ve ardından madde işaretini tekrar oluşturmanız gerekir. Daha fazla bilgi için Listeden madde işaretlerini kaldırma konusuna bakın.

Mevcut bir listenin madde işareti stilini değiştirmek için de CreateParagraphBulletsRequest tuşunu kullanabilirsiniz.

Aşağıdaki kod örneğinde, önce dokümanın başına metin ekleyen ve ardından ilk 50 karakteri kapsayan paragraflardan bir liste oluşturan toplu istek gösterilmektedir. BulletGlyphPreset, BULLET_ARROW_DIAMOND_DISC kullanır. Bu, madde işaretli listenin ilk üç iç içe yerleştirme seviyesi bir ok, elmas ve diskle temsil edildiği anlamına gelir.

Java

      List<Request> requests = new ArrayList<>();
      requests.add(new Request().setInsertText(new InsertTextRequest()
              .setText("Item One\n")
              .setLocation(new Location().setIndex(1))));

      requests.add(new Request().setCreateParagraphBullets(
              new CreateParagraphBulletsRequest()
                      .setRange(new Range()
                              .setStartIndex(1)
                              .setEndIndex(50))
                      .setBulletPreset("BULLET_ARROW_DIAMOND_DISC")));

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

Python

    requests = [
         {
            'insertText': {
                'location': {
                    'index': 1
                },
                'text': 'Item One\n',
            }}, {
            'createParagraphBullets': {
                'range': {
                    'startIndex': 1,
                    'endIndex':  50
                },
                'bulletPreset': 'BULLET_ARROW_DIAMOND_DISC',
            }
        }
    ]

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

Bir paragrafı listeye dönüştürün.
Şekil 1. Bir paragrafı listeye dönüştürün.

Listeden madde işaretlerini kaldırma

Paragraf listesinden madde işaretlerini kaldırmak için documents.batchUpdate yöntemini kullanın ve bir DeleteParagraphBulletsRequest sağlayın. Etkilenen hücreleri belirtmek için Range ekleyin.

Bu yöntem, iç içe yerleştirme seviyesinden bağımsız olarak belirli bir aralıkla çakışan tüm madde işaretlerini siler. İç içe yerleştirme düzeyini görsel olarak korumak için karşılık gelen her paragrafın başına girinti eklenir.

Aşağıdaki kod örneğinde, paragraf listesindeki madde işaretlerini silen bir toplu istek gösterilmektedir.

Java

      List<Request> requests = new ArrayList<>();
      requests.add(new Request().setDeleteParagraphBullets(
              new DeleteParagraphBulletsRequest()
                      .setRange(new Range()
                              .setStartIndex(1)
                              .setEndIndex(50))));

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

Python

    requests = [
         {
            'deleteParagraphBullets': {
                'range': {
                    'startIndex': 1,
                    'endIndex':  50
                },
            }
        }
    ]

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