Interfejs API Dokumentów Google obsługuje konwersję zwykłych akapitów na listy punktowane i usuwanie punktorów z akapitów.
Konwertowanie akapitu na listę
Częstą operacją formatowania akapitów jest przekształcanie akapitów w listę punktowaną.
Aby utworzyć listę, użyj metody documents.batchUpdate
i podaj CreateParagraphBulletsRequest
.
Użyj Range
, aby określić komórki, których dotyczy problem, i BulletGlyphPreset
, aby ustawić wzór punktora.
Wszystkie akapity, które pokrywają się z podanym zakresem, są wypunktowane. Jeśli określony zakres pokrywa się z tabelą, punktory są stosowane w komórkach tabeli. Poziom zagnieżdżenia każdego akapitu jest określany przez liczenie początkowych znaków tabulacji przed każdym akapitem.
Nie możesz zmienić poziomu zagnieżdżenia dotychczasowego punktu. Zamiast tego musisz usunąć punktor, ustawić początkowe karty na początku akapitu, a potem utworzyć punktor ponownie. Więcej informacji znajdziesz w artykule Usuwanie punktorów z listy.
Możesz też użyć CreateParagraphBulletsRequest
, aby zmienić styl punktora na istniejącej liście.
Poniższy przykładowy kod przedstawia żądanie zbiorcze, w którym najpierw wstawiany jest tekst na początku dokumentu, a następnie tworzy listę z akapitów obejmujących pierwsze 50 znaków. Parametr BulletGlyphPreset
korzysta z elementu BULLET_ARROW_DIAMOND_DISC
, co oznacza, że 3 pierwsze poziomy zagnieżdżenia listy punktowanej są reprezentowane przez strzałkę, romb i dysk.
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 akapitu, użyj metody documents.batchUpdate
i podaj znak DeleteParagraphBulletsRequest
.
Dołącz Range
, aby wskazać komórki, których dotyczy problem.
Ta metoda usuwa wszystkie punktory, które pokrywają się z podanym zakresem, niezależnie od poziomu zagnieżdżenia. Aby wizualnie zachować poziom zagnieżdżenia, na początku każdego odpowiedniego akapitu dodano 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()