Interfejs Google Docs API obsługuje konwertowanie zwykłych akapitów na listy punktowane i usuwanie z nich punktorów.
Przekształcanie akapitu w listę
Częstą operacją formatowania akapitu jest przekształcanie akapitów w listę punktowaną.
Aby utworzyć listę, użyj metody
documents.batchUpdate
i podaj
CreateParagraphBulletsRequest
.
Użyj znaku Range
, aby określić komórki, których dotyczy problem, oraz znaku BulletGlyphPreset
, aby ustawić wzór punktorów.
Wszystkie akapity, które pokrywają się z podanym zakresem, są oznaczone punktorem. Jeśli określony zakres nakłada się na tabelę, punktor zostanie zastosowany w komórkach tabeli. Poziom zagnieżdżenia każdego akapitu jest określany przez zliczenie tabulatorów na początku każdego akapitu.
Nie możesz dostosować poziomu zagnieżdżenia istniejącego punktu. Zamiast tego musisz usunąć punktor, ustawić tabulatory przed akapitem, a następnie ponownie utworzyć punktor. Więcej informacji znajdziesz w artykule Usuwanie punktów z listy.
Możesz też użyć CreateParagraphBulletsRequest
, aby zmienić styl punktorów na istniejącej liście.
Poniższy przykładowy kod pokazuje żądanie wsadowe, które najpierw wstawia tekst na początku dokumentu, a następnie tworzy listę z akapitów obejmujących pierwsze 50 znaków. BulletGlyphPreset
używa BulletGlyphPreset
, co oznacza, że pierwsze 3 poziomy zagnieżdżenia listy punktowanej są reprezentowane przez strzałkę, romb i dysk.BULLET_ARROW_DIAMOND_DISC
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()
Usuwanie punktorów z listy
Aby usunąć punktor z listy akapitów, użyj metody
documents.batchUpdate
i podaj
DeleteParagraphBulletsRequest
.
Dołącz Range
, aby określić komórki, których dotyczy problem.
Metoda usuwa wszystkie punktor, które nakładają się na podany zakres, niezależnie od poziomu zagnieżdżenia. Aby wizualnie zachować poziom zagnieżdżenia, na początku każdego odpowiedniego akapitu dodawane jest wcięcie.
Poniższy przykładowy kod pokazuje żądanie wsadowe, które usuwa punktor z listy akapitów.
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()