自动生成 UML 图表,一键导出可编辑的 PPT/EMF,支持 PowerPoint 直接编辑每个形状。
用户表达以下意图时激活:
{name}.puml 文件python svg2emf.py <input.puml> [-f ppt|svg|png|emf] [-o <output>]
参数说明:
| 参数 | 说明 | 默认值 |
|---|---|---|
| ------ | ------ | -------- |
| PlantUML 源文件 | 必填 |
-f | 输出格式 | ppt |
-o | 输出文件路径 | 同名 .pptx |
示例:
# 生成 PPT(默认)
python svg2emf.py sequence.puml
# 导出 SVG
python svg2emf.py sequence.puml -f svg
# 导出 PNG
python svg2emf.py sequence.puml -f png
# 导出 EMF(可编辑)
python svg2emf.py sequence.puml -f emf
# 指定输出路径
python svg2emf.py sequence.puml -o my_diagram.pptx
@startuml
participant Alice as A
participant Bob as B
A -> B : message
B --> A : response
@enduml
@startuml
class User {
+name: String
+login()
}
class Order {
+items: List
+calculate()
}
User "1" -- "*" Order : places
@enduml
@startuml
start
:登录系统;
if (密码正确?) then (是)
:进入首页;
else (否)
:提示错误;
stop
endif
stop
@enduml
@startuml
[*] --> 等待中
等待中 --> 处理中: 开始
处理中 --> 已完成: 成功
处理中 --> 失败: 错误
已完成 --> [*]
失败 --> [*]
@enduml
@startuml
left to right direction
actor 用户 as U
rectangle 系统 {
U -- (登录)
U -- (下单)
U -- (查询订单)
}
@enduml
| 格式 | 说明 | PowerPoint 可编辑 |
|---|---|---|
| ------ | ------ | ------------------ |
.pptx | 嵌入 EMF 的幻灯片 | ✅ 取消组合后可编辑 |
.emf | 增强图元文件 | ✅ 取消组合后可编辑 |
.svg | 矢量图 | ❌ 需转换 |
.png | 位图 | ❌ 不可编辑 |
推荐工作流:
.pptx 格式组合 → 取消组合(可能需要多次取消组合才能完全拆分每个元素)生成 PPT 后,大模型必须告知用户以下操作步骤:
> 生成完成后,告知用户:"PPT 已生成!如需编辑各个形状,请执行:选中图片 → 右键 → 组合 → 取消组合。注意:可能需要多次取消组合(Ctrl+Shift+G)才能将所有元素完全拆分,确保每个形状都可以独立编辑。"
.puml 文件名避免使用中文、空格、特殊字符@startuml 和 @enduml 必须配对pip install -r requirements.txt由于 PlantUML 的编码限制,泳道名和参与者名必须使用英文。活动描述、消息文字等使用用户语言。
@startuml ecommerce_flow
|Customer|
start
:Browse Products;
:Place Order;
|OrderService|
:Process Order;
@enduml
规则:
原因: PlantUML 在处理非英文泳道名/参与者名时存在编码 bug,生成的 SVG 包含损坏的 HTML 实体引用。这是 PlantUML 本身的限制,无法通过配置解决。
使用本 skill 前,请先检查以下依赖是否已安装:
Inkscape 用于将 SVG 转换为 EMF 格式,是核心依赖。
检查是否已安装:
# 在命令行中运行
inkscape --version
如果未安装,请按以下步骤安装:
.exe 或 .msi)inkscape --version
版本要求: Inkscape 1.0 或更高版本
重要: 如果安装时没有添加到 PATH,可以手动添加:
C:\Program Files\Inkscape\bin 添加到系统环境变量 PATH检查是否已安装:
java --version
如果未安装,请按以下步骤安装:
| 变量名 | 值 |
|---|---|
| -------- | ----- |
JAVA_HOME | C:\Program Files\Eclipse Adoptium\jdk-8.x.x.x-hotspot(根据实际安装路径) |
PATH(追加) | %JAVA_HOME%\bin |
java --version
通过 pip 安装:
pip install -r requirements.txt
requirements.txt 内容:
重要: 如果 scripts/plantuml.jar 文件不存在,大模型需要自动下载。
下载命令:
# 切换到 AutoPlantUMLEdit skill 目录后执行
curl -L -o "scripts/plantuml.jar" "https://github.com/plantuml/plantuml/releases/download/v1.2026.2/plantuml-1.2026.2.jar"
或使用 PowerShell:
# 切换到 AutoPlantUMLEdit skill 目录后执行
Invoke-WebRequest -Uri "https://github.com/plantuml/plantuml/releases/download/v1.2026.2/plantuml-1.2026.2.jar" -OutFile "scripts/plantuml.jar"
下载后验证:
java -jar scripts/plantuml.jar -version
共 1 个版本