Interfejs API Dokumentów Google obsługuje konwertowanie zwykłych akapitów na listy punktowane i usuwanie punktorów z akapitów.
Konwertowanie akapitu na listę
Częstą operacja formatowania akapitu jest konwertowanie akapitów na listę punktowaną.
Aby utworzyć listę, użyj metody documents.batchUpdate
i podaj CreateParagraphBulletsRequest
.
Dodaj Range
, aby wskazać komórki, których dotyczy problem, i BulletGlyphPreset
, aby ustawić wzór punktora.
Wszystkie akapity, które nakładają się na podany zakres, zostaną umieszczone w punktach. Jeśli podany zakres pokrywa się z tabelą, punktory są stosowane w komórkach tabeli. Poziom zagnieżdżenia każdego akapitu jest określany przez zliczanie początkowych znaków tabulacji przed każdym akapitem.
Nie możesz dostosować poziomu zagnieżdżenia istniejącego punktora. Zamiast tego musisz usunąć punktor, umieścić początkowe karty na początku akapitu i utworzyć punkt ponownie. Więcej informacji znajdziesz w artykule Usuwanie punktorów z listy.
Za pomocą CreateParagraphBulletsRequest
możesz też zmienić styl punktor istniejącej listy.
Poniższy przykładowy kod przedstawia żądanie zbiorcze, które najpierw wstawia tekst na początku dokumentu, a potem tworzy listę z akapitów obejmujących pierwsze 50 znaków. BulletGlyphPreset
używa BULLET_ARROW_DIAMOND_DISC
, co oznacza, że pierwsze 3 poziomy zagnieżdżenia z listy punktowanej są przedstawione za pomocą strzałki, rombu i dysku.
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()
Usuwanie punktorów z listy
Aby usunąć punktory z listy akapitów, użyj metody documents.batchUpdate
i podaj DeleteParagraphBulletsRequest
.
Aby wskazać komórki, których dotyczy problem, uwzględnij Range
.
Ta metoda usuwa wszystkie punktory, które nakładają się na dany zakres, niezależnie od poziomu zagnieżdżenia. Aby wizualnie zachować poziom zagnieżdżenia, na początku każdego odpowiedniego akapitu dodaliśmy wcięcie.
Poniższy przykładowy kod pokazuje żądanie zbiorcze, które usuwa punktory z listy akapitów.
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()