2237 words
11 minutes
officecli: 让 Claude Code 用 PPT 绘图
首次发布: 2026-05-25
... 次访问

天下苦绘图久矣!让 AI 帮助绘图曾经是个难题,但现在有了 OfficeCLI,这个遥不可及的梦想终于成真了。无论是做 PPT 结构图、流程图,还是 Word 报告、Excel 表格,OfficeCLI 都能让你用代码轻松搞定。更棒的是,它还能一键注册为 Claude Code 的 MCP 服务器,让 AI 直接调用 OfficeCLI 来生成文档,完全不需要手动操作。

一、安装#

PowerShell 一键安装

# 在PowerShell中执行
irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex

# 验证安装
officecli --version

安装完成后,就可以在命令行中使用 officecli 这个强大的工具了。接下来,我们看看它是如何与 Claude Code 无缝集成的,以及一些基础的 CLI 指令示例。

二、注册到 Claude Code#

OfficeCLI 提供了一个非常智能的功能:一键注册为 Claude Code 的 MCP 服务器。

# 一键注册 MCP 服务器
officecli mcp claude

执行后,Claude Code 会自动获得操作 Office 文档的能力。你在对话中让 Claude “做个 PPT”、“整理成表格”、“导出报告”,它就能直接调用 OfficeCLI 来完成。不需要手动配置 JSON。

三、基础 CLI 指令#

创建文件#

# 创建一个测试PPT(默认宽屏 33.87cm × 19.05cm)
officecli create test.pptx --type pptx

添加幻灯片#

# 添加一张带标题的幻灯片,深色背景
officecli add test.pptx / --type slide --prop title="测试绘图" --prop background=2C3E50

添加图形元素#

# 在第二页添加一个带文字的矩形
officecli add test.pptx "/slide[2]" --type shape --prop text="Hello OfficeCLI" --prop x=2cm --prop y=5cm --prop width=10cm --prop height=3cm --prop size=24pt

支持的各种 shape 类型:rect(矩形)、roundRect(圆角矩形)、ellipse(椭圆)、triangle(三角)、rightArrow(箭头)、star5(五角星)等。

添加文本框#

officecli add test.pptx "/slide[2]" --type textbox --prop text="这是文本框" --prop x=2cm --prop y=8cm --prop width=10cm --prop height=2cm --prop size=14pt --prop bold=true --prop color=FF0000

添加连接线(箭头)#

# 直线箭头
officecli add test.pptx "/slide[2]" --type connector --prop shape=straight --prop x=5cm --prop y=3cm --prop width=0cm --prop height=3cm --prop color=333333 --prop tailEnd=triangle --prop lineWidth=2pt

实时预览#

# 启动预览服务器(会自动打开浏览器)
officecli watch test.pptx

这个功能非常实用 —— 你每次执行 add / set 命令后,浏览器页面会自动刷新,实时看到效果。

查看文档结构#

# 查看所有幻灯片
officecli query test.pptx slide

# 查看所有图形
officecli query test.pptx shape

# 查看所有连接线
officecli query test.pptx connector

批量操作#

# 通过JSON文件批量执行命令
officecli batch test.pptx --input commands.json

四、智能体调用经验#

在 Claude Code 尝试使用 officecli 做了个图后,我让他做了个经验总结,便于后续智能体调用时省点 token。

核心流程#

OfficeCLI 操作 PPT 的本质是三步曲:

创建文件 → 添加元素 → 设置属性

每添加一个元素,officecli 会返回一个路径,例如 /slide[1]/shape[@id=10000],后续修改通过这个路径定位。

Skill 模板:用 OfficeCLI 画论文结构图#

如果你要让 AI 用 OfficeCLI 画 PPT 结构图,直接把下面的指令框架给 AI:

背景:你要用 officecli 生成一个 PPT 结构图
尺寸:PPT 宽 33.87cm,高 19.05cm(标准宽屏)

步骤:
1. officecli create output.pptx --type pptx    创建空白文件
2. officecli add output.pptx "" --type slide --prop layout="Blank" --prop background=FFFFFF    加一页空白

3. 对每个图形元素使用 batch 模式(批量操作),格式为 JSON:
   {"op":"add","path":"/slide[1]","type":"shape","props":{...}}
   
   常用 props 属性速查:
   ├── 位置大小: x, y, width, height(单位cm)
   ├── 几何形状: geometry = rect | roundRect | ellipse | triangle
   ├── 颜色填充: fill = RRGGBB(hex色值)
   ├── 文本内容: text, size, color, bold, font.ea(中文字体)
   ├── 对齐方式: align = left|center|right, valign = top|middle|bottom
   └── 边距边框: margin = 0.3cm, line = "RRGGBB:宽度pt"

4. 添加连接线(箭头):
   {"op":"add","path":"/slide[1]","type":"connector","props":{
     "shape":"straight", "x":"起点cm", "y":"起点cm",
     "width":"0cm", "height":"长度cm",
     "color":"RRGGBB", "lineWidth":"2pt", "tailEnd":"triangle"
   }}
   注意:连接线是靠 start(x,y) → end(x+width, y+height) 定位的
   向下箭头:width=0, height=正数
   向右箭头:width=正数, height=0

5. 编辑完用 officecli save output.pptx 存盘

踩坑记录#

问题解决方案
中文乱码必须设置 --prop font.ea="Microsoft YaHei" 指定中文字体
路径错误Git Bash 下路径中的 / 会被转义,用 "" 空字符串代替根路径
connector 方向不对connector 用偏移量定位:width=0 为垂直方向,height 正值=向下,负值=向上;height=0 为水平方向,width 正值=向右,负值=向左
batch JSON 字段名op 代替 add,用 props 代替 --prop,用 type 代替 --type
预览不刷新检查 officecli watch 是否仍在运行,重开即可

Batch JSON 的完整字段格式#

让智能体先生成 Batch JSON,再用

officecli batch test.pptx --input commands.json

可以一键修改 PPT,好处是方便在此前调整的基础上修改 PPT 结构。

{
  "op": "add | set | remove | get | query",
  "path": "/slide[N]",
  "type": "shape | textbox | connector | slide",
  "props": {
    "x": "位置cm",
    "y": "位置cm",
    "width": "宽度cm",
    "height": "高度cm",
    "fill": "RRGGBB",
    "geometry": "roundRect",
    "text": "内容",
    "size": "字号pt",
    "color": "RRGGBB",
    "bold": true,
    "font.ea": "Microsoft YaHei",
    "align": "center",
    "valign": "middle",
    "margin": "0.3cm",
    "line": "RRGGBB:线宽pt",
    "lineWidth": "2pt",
    "tailEnd": "triangle"
  }
}

配色方案推荐#

画技术架构图/论文结构图时,推荐这套蓝色系配色:

深蓝(主标题): 1A3A5C
章1(最深的蓝): 2E86C1
章2: 3498DB
章3: 5DADE2
章4: 85C1E9
章5(最浅的蓝): AED6F1
背景浅蓝: EBF5FB
强调色(橙色): F39C12
强调色(红色): E74C3C
正文深色: 2C3E50

五、视觉反馈:AI 的”眼睛”#

做 PPT 最头疼的一点是:AI 自己看不到做出来的图。没有视觉反馈,布局重叠、字体过小、颜色失衡这些问题,AI 完全不知道。怎么解决?

两种视觉反馈通道#

根据 AI 模型的能力不同,有两种视觉反馈方案:

方案适用模型原理精度
HTML 结构化分析纯文本模型(如 DeepSeek)导出 HTML,读取 DOM 元素坐标来检测布局像素级精确
截图视觉识别多模态模型(如 Claude、GPT-4o)直接看截图,像人一样判断直观但定性

方案一:HTML 结构化分析(纯文本模型)#

纯文本模型无法”看”图片,但可以通过 officecli view 导出 HTML,然后读取 DOM 元素的坐标数据来理解布局。

# 导出 HTML 预览
officecli view paper.pptx html > preview.html

HTML 中每个元素都有精确的 CSS 坐标:

<!-- 从 HTML 中可以读到每个元素的 left, top, width, height -->
<div class="shape" style="left:28.35pt;top:102.05pt;width:164.41pt;height:90.71pt;">

通过这些坐标,纯文本模型可以像读表格一样”看”布局,自动检测三类常见问题:

1. 重叠检测 — 计算两个元素的包围盒是否有交集

元素A底部 = topA + heightA = 102.05 + 90.71 = 192.76pt
元素B顶部 = topB = 212.6pt
间距 = 212.6 - 192.76 = 19.84pt (0.7cm) ✓ 无重叠

2. 间距均匀性 — 检查所有同类元素的位置是否对齐

章1内容框 top=102.05pt, left=28.35pt
章2内容框 top=102.05pt, left=212.6pt  ← top 一致,水平对齐 ✓

3. 文字适配 — 计算文本高度是否超出容器

内容框文本区高度 = 90.71pt - 2×9.92pt(边距) = 70.87pt
4行文字需要 = 4 × 11pt × 1.4(行距) = 61.6pt
剩余 = 9.27pt ✓ 文字能完整显示

方案二:截图视觉识别(多模态模型)#

多模态模型可以用 officecli view 的截图模式,直接”看到” PPT 效果:

# 导出截图
officecli view paper.pptx screenshot --slide 1 -o slide1.png

模型可以直接判断:

  • 颜色是否协调
  • 字体大小是否合适
  • 整体视觉平衡感
  • 装饰元素的美观度

迭代工作流#

无论哪种方案,核心都是生成 → 反馈 → 调整的闭环:

创建 PPT → 导出预览(HTML/截图) → AI分析反馈 → 调整 JSON → 重新生成

可以提示让模型在每轮迭代都关注不同维度:

  • 第 1 轮:整体布局、元素是否存在
  • 第 2 轮:间距、对齐、颜色一致性
  • 第 3 轮:细节微调、装饰元素、视觉平衡

关键技术指标#

分析 HTML 布局时,重点关注这些 CSS 属性:

属性作用检查要点
top元素顶部位置同类元素是否一致
left元素左侧位置水平对齐情况
width/height元素尺寸内容是否适配
padding内边距文字是否被裁剪
line-height行高行数 × 行高 ≤ 内容区高度
border-radius圆角与元素尺寸比例是否协调

这个”结构化视觉反馈”的方法,不仅适用于 PPT,对 Word 文档排版、Excel 图表布局同样有效。没有视觉模态的 AI,一样能做出视觉上合格的文档

总结#

OfficeCLI 最大的价值在于,它把 Office 文档操作变成了可编程的、AI 可调用的 API

以前 AI 做 PPT 的方案,是生成 Python 脚本 → 调 python-pptx 库 → 慢慢调试。现在,officecli batch 一个 JSON 搞定,还能实时预览。

搭配 Claude Code 的 MCP 注册功能,直接跟 AI 说”把这个分析结果做成 PPT”,剩下的交给 OfficeCLI。


相关链接:

officecli: 让 Claude Code 用 PPT 绘图
https://adalovelemon.github.io/blog/en/posts/content/technotes/agents/officecli/
Author
Ada Lovelemon
Published at
2026-05-25

Comments Section