使用列表

Google 文档 API 支持将纯段落转换为项目符号列表,并且 删除段落中的项目符号。

将段落转换为列表

常见的段落格式设置操作是将段落转换为项目符号 列表。

要创建列表,请使用 documents.batchUpdate 方法,并提供一个 CreateParagraphBulletsRequest。 添加 Range 以指定 受影响的单元格和 BulletGlyphPreset 为项目符号设置图案

与指定范围重叠的所有段落都会带项目符号。如果指定的 范围与表格重叠,则项目符号会应用到表格的单元格中。通过 每个段落的嵌套级别由计算前面的前导制表符确定 。

您无法调整现有项目符号的嵌套级别。 您必须删除项目符号,设置 然后重新创建项目符号有关详情,请参阅移除 列表项

您还可以使用 CreateParagraphBulletsRequest 更改项目符号样式。 现有列表

以下代码示例显示了一个批量请求,该请求首先在 然后从文档开始的各段落之间 创建一个列表, 前 50 个字符。BulletGlyphPreset使用 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()
将段落转换为列表。
图 1. 将段落转换为列表。

从列表中移除项目符号

要从段落列表中移除项目符号,请使用 documents.batchUpdate 方法,并提供一个 DeleteParagraphBulletsRequest。 添加 Range 以指定 受影响的单元格。

该方法会删除与指定范围重叠的所有项目符号,而不会考虑 嵌套级别。为了直观地保留嵌套级别, 每个相应段落的开头。

以下代码示例展示了从 段落列表。

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()