Menangani daftar

Google Docs API mendukung konversi paragraf biasa menjadi daftar berbutir dan menghapus poin dari paragraf.

Mengonversi paragraf menjadi daftar

Operasi pemformatan paragraf umum adalah mengonversi paragraf menjadi poin-poin daftar.

Untuk membuat daftar, gunakan documents.batchUpdate dan menyediakan CreateParagraphBulletsRequest. Sertakan Range untuk menentukan sel yang terkena dampak dan BulletGlyphPreset untuk menyetel pola butir.

Semua paragraf yang tumpang-tindih dengan rentang yang ditentukan akan berbutir. Jika yang ditentukan rentang tumpang tindih dengan tabel, berbutir diterapkan di dalam sel tabel. Tujuan tingkat bertingkat setiap paragraf ditentukan dengan menghitung tab utama di depan dari setiap paragraf.

Anda tidak dapat menyesuaikan tingkat bertingkat dari butir yang sudah ada. Sebagai gantinya, Anda harus menghapus butir, setel tab utama di depan paragraf, lalu buat butir lagi. Untuk informasi selengkapnya, lihat Menghapus poin dari daftar.

Anda juga dapat menggunakan CreateParagraphBulletsRequest untuk mengubah gaya butir untuk dari daftar yang ada.

Contoh kode berikut menunjukkan permintaan batch yang menyisipkan teks terlebih dahulu pada awal dokumen, dan kemudian membuat daftar dari paragraf yang mencetak 50 karakter pertama. BulletGlyphPreset menggunakan BULLET_ARROW_DIAMOND_DISC yang berarti tiga tingkat penyusunan pertama dari daftar berbutir dilambangkan dengan panah, berlian, dan cakram.

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

Mengonversi paragraf menjadi daftar.
Gambar 1. Mengonversi paragraf menjadi daftar.

Menghapus butir dari daftar

Untuk menghapus poin dari daftar paragraf, gunakan metode documents.batchUpdate dan menyediakan DeleteParagraphBulletsRequest. Sertakan Range untuk menentukan sel yang terdampak.

Metode ini menghapus semua butir yang tumpang-tindih dengan rentang yang ditentukan, terlepas dari {i>nesting level<i} (nesting) Untuk mempertahankan tingkat {i>nesting<i} secara visual, indentasi ditambahkan ke awal setiap paragraf yang sesuai.

Contoh kode berikut menunjukkan permintaan batch yang menghapus butir dari daftar paragraf.

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