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 daftar berbutir.

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

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

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

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

Contoh kode berikut menunjukkan permintaan batch yang menyisipkan teks terlebih dahulu di bagian awal dokumen, lalu membuat daftar dari paragraf yang mencakup 50 karakter pertama. BulletGlyphPreset menggunakan BULLET_ARROW_DIAMOND_DISC, yang berarti tiga tingkat bertingkat pertama dari daftar berbutir diwakili oleh panah, berlian, dan disk.

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

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 berikan DeleteParagraphBulletsRequest. Sertakan Range untuk menentukan sel yang terpengaruh.

Metode ini menghapus semua butir yang tumpang-tindih dengan rentang yang ditentukan, terlepas dari tingkat penyusunan bertingkat. Untuk mempertahankan tingkat bertingkat secara visual, indentasi ditambahkan ke awal setiap paragraf terkait.

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

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