Menangani daftar

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

Mengonversi paragraf menjadi daftar

Operasi pemformatan paragraf yang umum adalah mengonversi paragraf menjadi daftar berbutir.

Untuk membuat daftar, gunakan metode documents.batchUpdate dan berikan CreateParagraphBulletsRequest. Sertakan Range untuk menentukan sel yang terpengaruh dan BulletGlyphPreset untuk menetapkan pola untuk peluru.

Semua paragraf yang tumpang-tindih dengan rentang yang diberikan akan diberi tanda titik. Jika rentang yang ditentukan tumpang-tindih dengan tabel, tanda peluru akan diterapkan dalam sel tabel. Tingkat bertingkat setiap paragraf ditentukan dengan menghitung tab awal di depan setiap paragraf.

Anda tidak dapat menyesuaikan tingkat bertingkat dari buletin yang ada. Sebagai gantinya, Anda harus menghapus tanda peluru, menetapkan tab awal di depan paragraf, lalu membuat tanda peluru lagi. Untuk informasi selengkapnya, lihat Menghapus titik dari daftar.

Anda juga dapat menggunakan CreateParagraphBulletsRequest untuk mengubah gaya tanda peluru untuk daftar yang ada.

Contoh kode berikut menunjukkan permintaan batch yang pertama kali menyisipkan teks di awal dokumen, lalu membuat daftar dari paragraf yang mencakup 50 karakter pertama. BulletGlyphPreset menggunakan BULLET_ARROW_DIAMOND_DISC yang berarti tiga tingkat tingkatan pertama daftar berbutir diwakili oleh 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 tanda peluru dari daftar

Untuk menghapus tanda peluru dari daftar paragraf, gunakan metode documents.batchUpdate dan berikan DeleteParagraphBulletsRequest. Sertakan Range untuk menentukan sel yang terpengaruh.

Metode ini menghapus semua peluru yang tumpang-tindih dengan rentang yang diberikan, terlepas dari tingkat bertingkat. Untuk mempertahankan tingkat bertingkat secara visual, indentasi ditambahkan ke awal setiap paragraf yang sesuai.

Contoh kode berikut menunjukkan permintaan batch yang menghapus tanda peluru 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()