L'API Google Docs supporta la creazione di elenchi in nuovi documenti, la conversione di paragrafi semplici esistenti in elenchi puntati e la rimozione dei punti dai paragrafi.
Creare un elenco numerato in un nuovo documento
L'API Docs supporta la creazione di un elenco numerato in un nuovo documento inserendo 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 metodo
documents.createper creare un documento.Utilizza il metodo
documents.batchUpdatee fornisci unInsertTextRequestper aggiungere contenuti al documento. Utilizza i caratteri di nuova riga (\n) per separare gli elementi 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. 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(TAB_ID)))); requests.add(new Request().setCreateParagraphBullets( new CreateParagraphBulletsRequest() .setRange(new Range() .setStartIndex(1) .setEndIndex(22) .setTabId(TAB_ID)) .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': TAB_ID }, 'text': 'Item 1\nItem 2\nItem 3\n' } }, { 'createParagraphBullets': { 'range': { 'startIndex': 1, 'endIndex': 22, 'tabId': TAB_ID }, '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 comune di formattazione dei paragrafi è la conversione dei paragrafi esistenti in un elenco puntato.
Per creare un elenco, utilizza il metodo
documents.batchUpdate
e fornisci un
CreateParagraphBulletsRequest.
Includi un Range per
specificare il testo interessato e un
BulletGlyphPreset
per impostare il pattern del punto elenco.
Tutti i paragrafi che si sovrappongono all'intervallo specificato sono elencati 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 viene determinato contando i rientri iniziali di ogni paragrafo.
Non puoi regolare il livello di rientro 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, vedi 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, poi crea un elenco dai paragrafi che coprono i primi 50 caratteri. L'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 cerchio.
Java
List<Request> requests = new ArrayList<>(); requests.add(new Request().setInsertText(new InsertTextRequest() .setText("Item One\n") .setLocation(new Location().setIndex(1).setTabId(TAB_ID)))); requests.add(new Request().setCreateParagraphBullets( new CreateParagraphBulletsRequest() .setRange(new Range() .setStartIndex(1) .setEndIndex(50) .setTabId(TAB_ID)) .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, 'tabId': TAB_ID }, 'text': 'Item One\n', }}, { 'createParagraphBullets': { 'range': { 'startIndex': 1, 'endIndex': 50, 'tabId': TAB_ID }, 'bulletPreset': 'BULLET_ARROW_DIAMOND_DISC', } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, 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 metodo
documents.batchUpdate
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 preservare 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(TAB_ID)))); BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest().setRequests(requests); BatchUpdateDocumentResponse response = docsService.documents() .batchUpdate(DOCUMENT_ID, body).execute();
Python
requests = [ { 'deleteParagraphBullets': { 'range': { 'startIndex': 1, 'endIndex': 50, 'tabId': TAB_ID }, } } ] result = service.documents().batchUpdate( documentId=DOCUMENT_ID, 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.