Utilizza gli elenchi

L'API Documenti Google supporta la conversione di paragrafi semplici in elenchi puntati e la rimozione di punti elenco dai paragrafi.

Convertire un paragrafo in un elenco

Un'operazione comune di formattazione dei paragrafi consiste nella conversione dei paragrafi in un elenco puntato.

Per creare un elenco, usa il metodo documents.batchUpdate e fornisci un CreateParagraphBulletsRequest. Includi un simbolo Range per specificare le celle interessate e un BulletGlyphPreset per impostare il pattern del punto elenco.

Tutti i paragrafi che si sovrappongono all'intervallo specificato sono un elenco puntato. Se l'intervallo specificato si sovrappone a una tabella, i punti elenco vengono applicati all'interno delle celle della tabella. Il livello di annidamento di ogni paragrafo viene determinato contando le schede iniziali davanti a ogni paragrafo.

Non puoi regolare il livello di annidamento di un punto elenco esistente. Devi però eliminare il punto elenco, impostare le schede iniziali davanti al paragrafo, quindi creare di nuovo il punto elenco. Per ulteriori informazioni, vedi Rimuovere i punti elenco da un elenco.

Puoi anche utilizzare CreateParagraphBulletsRequest per modificare lo stile del punto elenco per un elenco esistente.

Il seguente esempio di codice mostra una richiesta batch che inserisce prima del testo all'inizio del documento e poi crea un elenco dai paragrafi che comprende i primi 50 caratteri. L'elemento BulletGlyphPreset utilizza BULLET_ARROW_DIAMOND_DISC, il che significa che i primi tre livelli di nidificazione dell'elenco puntato sono rappresentati da una freccia, un rombo e un disco.

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

Convertire un paragrafo in un elenco.
Figura 1. Convertire un paragrafo in un elenco.

Rimuovere punti da un elenco

Per rimuovere i punti elenco da un elenco di paragrafi, usa il metodo documents.batchUpdate e fornisci un DeleteParagraphBulletsRequest. Includi un Range per specificare le celle interessate.

Il metodo elimina tutti i punti elenco che si sovrappongono all'intervallo specificato, indipendentemente dal livello di annidamento. Per mantenere visivamente il livello di annidamento, viene aggiunto un rientro all'inizio di ogni paragrafo corrispondente.

Il seguente esempio di codice mostra una richiesta batch che elimina i punti elenco da un elenco di paragrafi.

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