Listelerle çalışma

Google Dokümanlar API, düz paragrafları madde listelerine dönüştürmeyi ve paragraflardan madde işaretlerini kaldırmayı destekler.

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

Sık kullanılan bir paragraf biçimlendirme işlemi, paragrafları madde listesine 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, BulletGlyphPreset ise ipucuna ait kalıbı ayarlamak için ekleyin.

Belirtilen aralıkla çakışan tüm paragraflar madde işaretiyle gösterilir. Belirtilen aralık bir tabloyla örtüşüyorsa madde işaretleri tablo hücrelerine uygulanır. Her paragrafın iç içe yerleştirme düzeyi, her paragrafın önündeki ilk sekmelerin sayılmasıyla belirlenir.

Mevcut bir madde işaretinin iç içe yerleştirme düzeyini ayarlayamazsınız. Bunun yerine, madde işaretini silmeniz, paragrafın önüne ön sekmeler eklemeniz ve ardından madde işaretini tekrar oluşturmanız gerekir. Daha fazla bilgi için Listelerden ipuçlarını kaldırma başlıklı makaleyi inceleyin.

Mevcut bir listenin madde işareti stilini değiştirmek için CreateParagraphBulletsRequest simgesini de 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 bir toplu istek gösterilmektedir. BulletGlyphPreset, BULLET_ARROW_DIAMOND_DISC kullanır. Bu, 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).setTabId(TAB_ID))));

requests.add(new Request().setCreateParagraphBullets(
        new CreateParagraphBulletsRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(50)
                        .setTabId(TAB_ID))
                .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,
                'tabId': TAB_ID
            },
            'text': 'Item One\n',
        }}, {
        'createParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex':  50,
                'tabId': TAB_ID
            },
            'bulletPreset': 'BULLET_ARROW_DIAMOND_DISC',
        }
    }
]

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

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

Listedeki madde işaretlerini kaldırma

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

Yöntem, iç içe yerleştirme düzeyinden bağımsız olarak belirtilen aralıkla örtüşen tüm madde işaretlerini siler. İç içe yerleştirme düzeyini görsel olarak korumak için her bir ilgili paragrafın başına girinti eklenir.

Aşağıdaki kod örneğinde, 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)
                        .setTabId(TAB_ID))));

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

Python

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

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