Mit Listen arbeiten

Die Google Docs API unterstützt die Konvertierung von einfachen Absätzen in Aufzählungslisten und das Entfernen von Aufzählungszeichen aus Absätzen.

Absätze in Listen umwandeln

Eine gängige Absatzformatierung ist das Konvertieren von Absätzen in eine Aufzählungsliste.

Verwenden Sie zum Erstellen einer Liste die Methode documents.batchUpdate und geben Sie einen CreateParagraphBulletsRequest an. Fügen Sie einen Range hinzu, um die betroffenen Zellen anzugeben, und einen BulletGlyphPreset, um das Muster für den Aufzählungspunkt festzulegen.

Alle Absätze, die sich mit dem angegebenen Bereich überschneiden, werden mit einer Aufzählung versehen. Wenn sich der angegebene Bereich mit einer Tabelle überschneidet, werden die Aufzählungszeichen in den Tabellenzellen angewendet. Die Verschachtelungsebene jedes Absatzes wird dadurch bestimmt, dass vor jedem Absatz vorangehende Tabs gezählt werden.

Die Verschachtelungsebene eines vorhandenen Aufzählungszeichens kann nicht angepasst werden. Stattdessen müssen Sie den Aufzählungspunkt löschen, die führenden Tabs vor den Absatz setzen und dann den Aufzählungspunkt neu erstellen. Weitere Informationen finden Sie unter Aufzählungszeichen aus einer Liste entfernen.

Sie können auch CreateParagraphBulletsRequest verwenden, um den Stil der Aufzählungszeichen für eine vorhandene Liste zu ändern.

Das folgende Codebeispiel zeigt eine Batchanfrage, bei der zuerst Text am Anfang des Dokuments eingefügt und dann eine Liste aus den Absätzen erstellt wird, die die ersten 50 Zeichen umfassen. Für BulletGlyphPreset wird BULLET_ARROW_DIAMOND_DISC verwendet. Das bedeutet, dass die ersten drei Verschachtelungsebenen der Aufzählungsliste durch einen Pfeil, eine Raute und einen Datenträger dargestellt werden.

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

Absätze in Listen umwandeln
Abbildung 1: Absätze in Listen umwandeln

Aufzählungszeichen aus einer Liste entfernen

Wenn Sie Aufzählungszeichen aus einer Absatzliste entfernen möchten, verwenden Sie die Methode documents.batchUpdate und geben Sie einen DeleteParagraphBulletsRequest an. Fügen Sie einen Range ein, um die betroffenen Zellen anzugeben.

Die Methode löscht alle Aufzählungszeichen, die sich mit dem angegebenen Bereich überschneiden, unabhängig von der Verschachtelungsebene. Damit die Verschachtelungsebene visuell erhalten bleibt, wird am Anfang jedes entsprechenden Absatzes ein Einzug hinzugefügt.

Das folgende Codebeispiel zeigt eine Batchanfrage, mit der Aufzählungszeichen aus einer Absatzliste gelöscht werden.

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