Google Docs API hỗ trợ việc chuyển đổi các đoạn văn bản thuần tuý thành danh sách có dấu đầu dòng và xoá dấu đầu dòng khỏi các đoạn văn bản.
Chuyển đổi đoạn văn thành danh sách
Một thao tác định dạng đoạn văn phổ biến là chuyển đổi đoạn văn thành danh sách có dấu đầu dòng.
Để tạo danh sách, hãy sử dụng phương thức documents.batchUpdate
và cung cấp một CreateParagraphBulletsRequest
.
Thêm Range
để chỉ định các ô bị ảnh hưởng và BulletGlyphPreset
để đặt mẫu cho dấu đầu dòng.
Tất cả các đoạn văn trùng với phạm vi đã cho đều được đánh dấu bằng dấu đầu dòng. Nếu dải ô được chỉ định trùng lặp với một bảng, thì dấu đầu dòng sẽ được áp dụng trong các ô của bảng. Cấp độ lồng của mỗi đoạn văn được xác định bằng cách đếm các thẻ tab ở đầu mỗi đoạn văn.
Bạn không thể điều chỉnh cấp độ lồng của một dấu đầu dòng hiện có. Thay vào đó, bạn phải xoá dấu đầu dòng, đặt các dấu tab đầu dòng ở phía trước đoạn văn bản, rồi tạo lại dấu đầu dòng. Để biết thêm thông tin, hãy xem bài viết Xoá dấu đầu dòng khỏi danh sách.
Bạn cũng có thể dùng CreateParagraphBulletsRequest
để thay đổi kiểu dấu đầu dòng cho một danh sách hiện có.
Mẫu mã sau đây cho thấy một yêu cầu hàng loạt, trước tiên sẽ chèn văn bản vào đầu tài liệu, sau đó tạo một danh sách từ các đoạn văn trải dài trong 50 ký tự đầu tiên. BulletGlyphPreset
sử dụng BULLET_ARROW_DIAMOND_DISC
, tức là 3 cấp độ lồng nhau đầu tiên của danh sách có dấu đầu dòng được biểu thị bằng một mũi tên, một hình kim cương và một đĩa.
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()
Xoá dấu đầu dòng khỏi danh sách
Để xoá dấu đầu dòng khỏi danh sách đoạn văn, hãy dùng phương thức documents.batchUpdate
và cung cấp DeleteParagraphBulletsRequest
.
Thêm Range
để chỉ định các ô chịu ảnh hưởng.
Phương thức này sẽ xoá tất cả các dấu đầu dòng trùng lặp với phạm vi đã cho, bất kể cấp độ lồng nhau. Để duy trì trực quan cấp độ lồng ghép, khoảng thụt lề sẽ được thêm vào đầu mỗi đoạn tương ứng.
Mẫu mã sau đây cho thấy một yêu cầu hàng loạt xoá dấu đầu dòng khỏi danh sách đoạn văn.
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()