A API Google Docs oferece suporte à conversão de parágrafos simples em listas com marcadores e à remoção de marcadores de parágrafos.
Converter um parágrafo em uma lista
Uma operação de formatação de parágrafos comum é converter parágrafos em uma lista com marcadores.
Para criar uma lista, use o método
documents.batchUpdate
e forneça um
CreateParagraphBulletsRequest
.
Inclua um Range
para especificar as
células afetadas e um
BulletGlyphPreset
para definir o padrão do marcador.
Todos os parágrafos que se sobrepõem ao intervalo especificado são marcados com marcadores. Se o intervalo especificado se sobrepor a uma tabela, os marcadores serão aplicados nas células da tabela. O nível de aninhamento de cada parágrafo é determinado pela contagem de guias principais na frente de cada parágrafo.
Não é possível ajustar o nível de aninhamento de um marcador existente. Em vez disso, é necessário excluir o marcador, definir as guias à frente do parágrafo e criá-lo novamente. Para mais informações, consulte Remover marcadores de uma lista.
Também é possível usar CreateParagraphBulletsRequest
para mudar o estilo de marcador de
uma lista.
O exemplo de código a seguir mostra uma solicitação em lote que primeiro insere texto no início do documento e, em seguida, cria uma lista dos parágrafos que abrangem os primeiros 50 caracteres. O BulletGlyphPreset
usa
BULLET_ARROW_DIAMOND_DISC
, o que significa que os três primeiros níveis de aninhamento da
lista com marcadores são representados por uma seta, um losango e um disco.
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()
Remover marcadores de uma lista
Para remover marcadores de uma lista de parágrafos, use o método
documents.batchUpdate
e forneça um
DeleteParagraphBulletsRequest
.
Inclua um Range
para especificar as
células afetadas.
O método exclui todos os marcadores que se sobrepõem ao intervalo fornecido, independentemente do nível de aninhamento. Para preservar visualmente o nível de aninhamento, a indentação é adicionada ao início de cada parágrafo correspondente.
O exemplo de código a seguir mostra uma solicitação em lote que exclui marcadores de uma lista de parágrafos.
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()