Xử lý các danh sách

API Google Tài liệu hỗ trợ chuyển đổi đ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 đoạn.

Chuyển đổi một đoạ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 dấu đầu dòng danh sách.

Để tạo danh sách, hãy sử dụng documents.batchUpdate và cung cấp một CreateParagraphBulletsRequest. Thêm Range để chỉ định các tế bào bị ảnh hưởng và BulletGlyphPreset để đặt mẫu cho dấu đầu dòng.

Tất cả các đoạn chồng chéo với dải ô cho trước đều được đánh dấu đầu dòng. Nếu giá trị được chỉ định dải ô chồng chéo với bảng, các dấu đầu dòng được áp dụng bên trong các ô của bảng. Chiến lược phát hành đĩa đơn mức lồng ghép của mỗi đoạn được xác định bằng cách đếm các thẻ ở đầu phía trước của mỗi đoạn.

Bạn không thể điều chỉnh mức độ lồng của dấu đầu dòng hiện có. Thay vào đó, bạn phải xoá dấu đầu dòng, đặt các thẻ ở đầu 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 phần Xoá dấu đầu dòng trong một danh sách.

Bạn cũng có thể sử dụng CreateParagraphBulletsRequest để thay đổi kiểu dấu đầu dòng cho một danh sách hiện có.

Mã mẫu sau đây cho thấy một yêu cầu theo lô mà trước tiên sẽ chèn văn bản vào phần đầu của tài liệu, sau đó tạo danh sách từ các đoạn 50 ký tự đầu tiên. BulletGlyphPreset sử dụng BULLET_ARROW_DIAMOND_DISC có nghĩa là ba mức lồng ghép đầu tiên của danh sách có dấu đầu dòng được biểu thị bằng mũi tên, hình thoi và đĩ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()

Chuyển đổi một đoạn thành danh sách.
Hình 1. Chuyển đổi một đoạn thành danh sách.

Xoá dấu đầu dòng khỏi danh sách

Để xóa dấu đầu dòng khỏi danh sách đoạn, hãy sử dụng documents.batchUpdate và cung cấp một DeleteParagraphBulletsRequest. Thêm Range để chỉ định các ô bị ảnh hưởng.

Phương thức này sẽ xoá tất cả các dấu đầu dòng chồng chéo với dải ô đã cho, bất kể mức lồng ghép. Để bảo toàn mức độ lồng ghép, tính năng thụt lề được thêm vào đầu mỗi đoạn tương ứng.

Mã mẫu sau đây cho thấy một yêu cầu hàng loạt xoá các dấu đầu dòng khỏi một danh sách đoạ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()