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:
Utilizza il
documents.createmetodo per creare un documento.Utilizza il
documents.batchUpdatemetodo e fornisci unInsertTextRequestper aggiungere contenuti al documento. Utilizza i caratteri di nuova riga (\n) per separare le voci dell'elenco.Nello stesso aggiornamento batch, includi un
CreateParagraphBulletsRequest, unRangeper specificare l'intervallo di testo e unBulletGlyphPresetper 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.
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.