Mit Listen arbeiten

Die Google Docs API unterstützt das Konvertieren einfacher Absätze in Aufzählungslisten und das Entfernen von Aufzählungszeichen aus Absätzen.

Absätze in eine Liste umwandeln

Eine gängige Absatzformatierung ist das Umwandeln von Absätzen in eine Liste mit Aufzählungszeichen.

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

Alle Absätze, die sich mit dem angegebenen Bereich überschneiden, werden als Aufzählungszeichen versehen. Wenn sich der angegebene Bereich mit einer Tabelle überschneidet, werden die Aufzählungszeichen innerhalb der Tabellenzellen angewendet. Die Verschachtelungsebene eines Absatzes wird bestimmt, indem die vorangestellten Tabulatoren vor jedem Absatz gezählt werden.

Sie können die Verschachtelungsebene eines vorhandenen Aufzählungszeichens nicht ändern. Stattdessen müssen Sie das Aufzählungszeichen löschen, die führenden Tabs vor den Absatz setzen und das Aufzählungszeichen dann noch einmal 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, die zuerst Text am Anfang des Dokuments einfügt und dann eine Liste aus den Absätzen erstellt, 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 eine Scheibe 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()

Einen Absatz in eine Liste umwandeln
Abbildung 1: Einen Absatz in eine Liste 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. Um die Verschachtelungsebene visuell beizubehalten, wird die Einrückung am Anfang jedes entsprechenden Absatzes 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()