Utilizza gli elenchi

L'API Google Documenti 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 nel convertire i paragrafi in un elenco puntato.

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

Tutti i paragrafi che si sovrappongono all'intervallo specificato sono puntati. Se l'intervallo specificato si sovrappone a una tabella, i punti elenco vengono applicati all'interno delle celle della tabella. Il livello di nidificazione di ogni paragrafo è determinato contando le tabulazioni iniziali di ogni paragrafo.

Non puoi regolare il livello di annidamento di un punto elenco esistente. Devi invece eliminare il punto elenco, impostare le schede iniziali prima del paragrafo e quindi creare di nuovo il punto elenco. Per ulteriori informazioni, consulta Rimuovere un elenco puntato 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 il testo all'inizio del documento, quindi crea un elenco dai paragrafi che comprendono i primi 50 caratteri. 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()

Converti un paragrafo in un elenco.
Figura 1. Converti un paragrafo in un elenco.

Rimuovere punti elenco da un elenco

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

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

L'esempio di codice seguente mostra una richiesta batch che elimina 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()