# 完整操作示例 本文档提供与 CLI schema 一致的调用示例,XML 内容均遵循 [slides_xml_schema_definition.xml](slides_xml_schema_definition.xml)。 > **重要**:创建 PPT 请优先使用 `slides +create`;实际页面内容请使用 `xml_presentation.slide.create` 逐页添加。 ## 目录 - [示例 1: 使用 Shortcut 创建空白演示文稿](#示例-1-使用-shortcut-创建空白演示文稿) - [示例 2: 创建后添加第一页](#示例-2-创建后添加第一页) - [示例 3: 读取 XML 内容](#示例-3-读取-xml-内容) - [示例 4: 在指定页面前插入新幻灯片](#示例-4-在指定页面前插入新幻灯片) - [示例 5: 删除幻灯片](#示例-5-删除幻灯片) - [示例 6: 从文件读取 XML 后添加页面](#示例-6-从文件读取-xml-后添加页面) ## 示例 1: 使用 Shortcut 创建空白演示文稿 ```bash lark-cli slides +create --title "项目汇报" ``` 预期返回结构: ```json { "data": { "xml_presentation_id": "slides_example_presentation_id", "title": "项目汇报", "revision_id": 1 } } ``` ## 示例 2: 创建后添加第一页 ```bash PRESENTATION_ID=$(lark-cli slides +create --title "季度复盘" | jq -r '.data.xml_presentation_id') lark-cli slides xml_presentation.slide create --as user --params "{\"xml_presentation_id\":\"$PRESENTATION_ID\"}" --data '{ "slide": { "content": "

2024 Q3 季度复盘

关键结论

  • 收入增长 30%

  • 重点项目全部上线

  • 用户满意度持续提升

讲述时先给结论,再补充数据。

" } }' ``` ## 示例 3: 读取 XML 内容 ```bash lark-cli slides xml_presentations get --as user --params '{ "xml_presentation_id": "slides_example_presentation_id" }' ``` 提取 XML 内容: ```bash lark-cli slides xml_presentations get --as user --params '{ "xml_presentation_id": "slides_example_presentation_id" }' | jq -r '.xml_presentation.content' ``` 预期返回结构: ```json { "xml_presentation": { "presentation_id": "slides_example_presentation_id", "revision_id": 3, "content": "..." } } ``` ## 示例 4: 在指定页面前插入新幻灯片 ```bash lark-cli slides xml_presentation.slide create --as user --params '{ "xml_presentation_id": "slides_example_presentation_id" }' --data '{ "slide": { "content": "

新增页面

这是新增页面的正文。

" }, "before_slide_id": "sld_before_target" }' ``` 预期返回结构: ```json { "slide_id": "slide_example_id", "revision_id": 100 } ``` ## 示例 5: 删除幻灯片 ```bash lark-cli slides xml_presentation.slide delete --as user --params '{ "xml_presentation_id": "slides_example_presentation_id", "slide_id": "slide_example_id" }' ``` 预期返回结构: ```json { "revision_id": 101 } ``` ## 示例 6: 从文件读取 XML 后添加页面 先准备 `slide.xml`: ```xml

从文件加载

``` 先创建演示文稿: ```bash PRESENTATION_ID=$(lark-cli slides +create --title "从文件添加页面" | jq -r '.data.xml_presentation_id') ``` 再用 `jq` 组装请求体,从文件添加页面: ```bash lark-cli slides xml_presentation.slide create --as user \ --params "{\"xml_presentation_id\":\"$PRESENTATION_ID\"}" \ --data "$(jq -n --arg content "$(cat slide.xml)" '{slide:{content:$content}}')" ``` ## 常见处理技巧 ### 获取最新 revision_id ```bash lark-cli slides xml_presentations get --as user --params '{ "xml_presentation_id": "slides_example_presentation_id" }' | jq -r '.xml_presentation.revision_id' ``` ### 批量插入多页 ```bash #!/bin/bash PRESENTATION_ID="slides_example_presentation_id" slides=( '

页面 1

' '

页面 2

' ) for slide_xml in "${slides[@]}"; do payload=$(jq -n --arg content "$slide_xml" '{slide:{content:$content}}') lark-cli slides xml_presentation.slide create --as user --params "{\"xml_presentation_id\":\"$PRESENTATION_ID\"}" --data "$payload" done ``` ### 本地校验 XML 基本语法 ```bash xmllint --noout presentation.xml ``` ### 真实示例 - [slides_demo.xml](slides_demo.xml) 提供了更完整的页面示例,包含 `theme`、渐变填充、图片、图标和备注内容。