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

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, ipucun kalıbını ayarlamak için BulletGlyphPreset ekleyin.

Belirtilen aralıkla çakışan tüm paragraflar madde işaretiyle gösterilir. Belirtilen aralık bir tabloyla çakışırsa 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 de CreateParagraphBulletsRequest tuşunu kullanabilirsiniz.

Aşağıdaki kod örneğinde, önce dokümanın başına metin eklenen ve daha sonra 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).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ürün.
Şekil 1. Bir paragrafı listeye dönüştürebilirsiniz.

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.

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()