Listelerle çalışma

Google Docs API, düz paragrafları madde işaretli listelere dönüştürmeyi ve paragraflardaki madde işaretlerini kaldırmayı destekler.

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

Yaygın olarak kullanılan 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 ve madde işareti kalıbını ayarlamak için BulletGlyphPreset ekleyin.

Belirtilen aralıkla çakışan tüm paragraflar madde işaretlidir. Belirtilen aralık bir tabloyla çakışıyorsa madde işaretleri tablo hücrelerine uygulanır. Her bir paragrafın iç içe yerleştirilme düzeyi, her paragrafın önündeki başlıca sekmeler sayılarak belirlenir.

Mevcut bir madde işaretinin iç içe yerleştirme seviyesini ayarlayamazsınız. Bunun yerine madde işaretini silmeniz, önde gelen sekmeleri paragrafın önüne ayarlamanız ve daha sonra, madde işaretini yeniden oluşturmanız gerekir. Daha fazla bilgi için Listeden madde işaretlerini kaldırma bölümüne bakın.

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

Aşağıdaki kod örneğinde, ilk olarak belgenin başına metin ekleyen ve daha sonra ilk 50 karakteri kapsayan paragraflardan bir liste oluşturan toplu istek gösterilmektedir. BulletGlyphPreset, BULLET_ARROW_DIAMOND_DISC kullanır. Bu da madde işaretli listenin ilk üç iç içe yerleştirme düzeyinin 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.

Listedeki 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 bir Range ekleyin.

Bu yöntem, iç içe yerleştirme düzeyine bakılmaksızın, belirtilen aralıkla çakışan tüm madde işaretlerini siler. İç içe yerleştirme seviyesini görsel olarak korumak için karşılık gelen her paragrafın başına girinti eklenir.

Aşağıdaki kod örneğinde, bir paragraf listesinden 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()