Utilizza gli elenchi

L'API Documenti Google supporta la creazione di elenchi in nuovi documenti, la conversione di paragrafi di testo normale esistenti in elenchi puntati e la rimozione dei punti elenco dai paragrafi.

Creare un elenco numerato in un nuovo documento

L'API Documenti supporta la creazione di un elenco numerato in un nuovo documento inserendo il testo e applicando uno stile di elenco al testo in una singola richiesta batch.

Per creare un elenco numerato in un nuovo documento:

  1. Utilizza il documents.create metodo per creare un documento.

  2. Utilizza il documents.batchUpdate metodo e fornisci un InsertTextRequest per aggiungere contenuti al documento. Utilizza i caratteri di nuova riga (\n) per separare le voci dell'elenco.

  3. Nello stesso aggiornamento batch, includi un CreateParagraphBulletsRequest, un Range per specificare l'intervallo di testo e un BulletGlyphPreset per impostare il pattern per la numerazione.

Il seguente esempio di codice mostra come creare un documento e poi inserire tre elementi come elenco numerato. Il BulletGlyphPreset utilizza NUMBERED_DECIMAL_ALPHA_ROMAN per formattare l'elenco. Ciò significa che i primi tre livelli di nidificazione dell'elenco numerato sono rappresentati da un numero decimale, una lettera minuscola e un numero romano minuscolo.

Java

Document doc = new Document().setTitle("New List Document");
doc = docsService.documents().create(doc).execute();
String documentId = doc.getDocumentId();

List<Request> requests = new ArrayList<>();
requests.add(new Request().setInsertText(new InsertTextRequest()
        .setText("Item 1\nItem 2\nItem 3\n")
        .setLocation(new Location().setIndex(1).setTabId(<var>TAB_ID</var>))));

requests.add(new Request().setCreateParagraphBullets(
        new CreateParagraphBulletsRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(22)
                        .setTabId(<var>TAB_ID</var>))
                .setBulletPreset("NUMBERED_DECIMAL_ALPHA_ROMAN")));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
docsService.documents().batchUpdate(documentId, body).execute();

System.out.println("Created document with ID: " + documentId);

Python

title = 'New List Document'
body = {'title': title}
doc = service.documents().create(body=body).execute()
document_id = doc.get('documentId')

requests = [
    {
        'insertText': {
            'location': {
                'index': 1,
                'tabId': <var>TAB_ID</var>
            },
            'text': 'Item 1\nItem 2\nItem 3\n'
        }
    },
    {
        'createParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex': 22,
                'tabId': <var>TAB_ID</var>
            },
            'bulletPreset': 'NUMBERED_DECIMAL_ALPHA_ROMAN'
        }
    }
]

result = service.documents().batchUpdate(
    documentId=document_id, body={'requests': requests}).execute()

print(f"Created document with ID: {document_id}")

Sostituisci TAB_ID con l'ID della scheda che contiene i contenuti dell'elenco.

Convertire un paragrafo in un elenco

Un'operazione di formattazione dei paragrafi comune è la conversione dei paragrafi esistenti in un elenco puntato.

Per creare un elenco, utilizza il documents.batchUpdate metodo e fornisci un CreateParagraphBulletsRequest. Includi un Range per specificare il testo interessato e un BulletGlyphPreset per impostare il pattern per il punto elenco.

Tutti i paragrafi che si sovrappongono all'intervallo specificato vengono 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 dal conteggio delle tabulazioni iniziali davanti a ogni paragrafo.

Non puoi modificare il livello di nidificazione di un punto elenco esistente. Devi invece eliminare il punto elenco, impostare le tabulazioni iniziali davanti al paragrafo e poi creare di nuovo il punto elenco. Per ulteriori informazioni, consulta Rimuovere i punti elenco da un elenco.

Puoi anche utilizzare CreateParagraphBulletsRequest per modificare lo stile dei punti elenco di un elenco esistente.

Il seguente esempio di codice mostra una richiesta batch che prima inserisce il testo all'inizio del documento, quindi crea un elenco dai paragrafi che si estendono sui primi 50 caratteri. Il 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 diamante 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).setTabId(<var>TAB_ID</var>))));

requests.add(new Request().setCreateParagraphBullets(
        new CreateParagraphBulletsRequest()
                .setRange(new Range()
                        .setStartIndex(1)
                        .setEndIndex(50)
                        .setTabId(<var>TAB_ID</var>))
                .setBulletPreset("BULLET_ARROW_DIAMOND_DISC")));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(<var>DOCUMENT_ID</var>, body).execute();

Python

requests = [
        {
        'insertText': {
            'location': {
                'index': 1,
                'tabId': <var>TAB_ID</var>
            },
            'text': 'Item One\n',
        }}, {
        'createParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex':  50,
                'tabId': <var>TAB_ID</var>
            },
            'bulletPreset': 'BULLET_ARROW_DIAMOND_DISC',
        }
    }
]

result = service.documents().batchUpdate(
    documentId=<var>DOCUMENT_ID</var>, body={'requests': requests}).execute()

Sostituisci TAB_ID con l'ID della scheda che contiene i contenuti dell'elenco oppure omettilo per impostare come predefinita la prima scheda del documento.

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

Rimuovere i punti elenco da un elenco

Per rimuovere i punti elenco da un elenco di paragrafi, utilizza il documents.batchUpdate metodo e fornisci un DeleteParagraphBulletsRequest. Includi un Range per specificare il testo interessato.

Il metodo elimina tutti i punti elenco che si sovrappongono all'intervallo specificato, indipendentemente dal livello di nidificazione. Per mantenere visivamente il livello di nidificazione, 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)
                        .setTabId(<var>TAB_ID</var>))));

BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests);
BatchUpdateDocumentResponse response = docsService.documents()
        .batchUpdate(<var>DOCUMENT_ID</var>, body).execute();

Python

requests = [
        {
        'deleteParagraphBullets': {
            'range': {
                'startIndex': 1,
                'endIndex':  50,
                'tabId': <var>TAB_ID</var>
            },
        }
    }
]

result = service.documents().batchUpdate(
    documentId=<var>DOCUMENT_ID</var>, body={'requests': requests}).execute()

Sostituisci TAB_ID con l'ID della scheda che contiene i contenuti dell'elenco oppure omettilo per impostare come predefinita la prima scheda del documento.