PlantUML:用文本画UML图的开源工具 作者:马育民 • 2026-07-27 10:53 • 阅读:10004 # 介绍 PlantUML 是一个开源 **文本驱动的绘图工具**,用于快速创建 UML(统一建模语言)图形,无需拖拽画布。如类图、时序图、用例图、活动图等。 通过 **简单的文本描述语言** 定义图形,并将其转换为高质量的图像格式(如 PNG 或 SVG) 底层依赖:[Graphviz](https://www.malaoshi.top/show_1GW3kgJA1HsS.html "Graphviz") ### 在线使用网址 https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa700003 ### 开源网址 https://github.com/plantuml/plantuml ### 支持导出格式 PNG、SVG、PDF、Markdown 可识别图、ASCII 文本图等。 ### 文件后缀 保存 PlantUML 的文件后缀:`.puml` / `.plantuml` # 优势 1. **纯文本编写** 代码即是图纸,可存入 Git,方便对比变更、协作;Visio、Draw.io 文件是二进制,难以 diff。 2. **语法简单易学** 不需要学习复杂绘图操作,专注表达业务逻辑。 3. **支持超多图表类型** 时序图、类图、用例图、活动图、流程图、架构图、ER数据库图、甘特图、网络图等。 4. **生态强大** VS Code、IDEA、Typora、Obsidian、GitBook、MkDocs 全部支持集成;可命令行批量生成图片。 # 支持的常用图(UML + 非UML) ### UML 标准图 - 时序图(Sequence Diagram)⭐开发最常用 - 类图(Class Diagram)后端设计必备 - 用例图(Use Case) - 活动图(Activity Diagram,流程图) - 状态图(State Diagram) - 组件图、部署图 ### 扩展图表 - ER 实体关系图(数据库表结构) - 架构图(C4架构图) - 甘特图、思维导图 - 网络图、流程图、看板 # 例子 下面是时序图: ```plantuml @startuml 用户 -> 前端: 发起请求 前端 -> 后端: HTTP调用 后端 --> 前端: 返回数据 前端 --> 用户: 展示页面 @enduml ``` 把这段代码交给 PlantUML 引擎,直接生成时序图。 # 运行方式 1. **在线预览(快速试用)** 官网在线编辑器:https://www.plantuml.com/plantuml/ 2. **编辑器插件** - VS Code:PlantUML 插件(需要 Graphviz) - IntelliJ IDEA:PlantUML Integration - Typora / Obsidian:原生支持 PlantUML 代码块渲染 3. **命令行** 通过 `plantuml.jar` 批量解析 `.puml` 文件自动导出图片 > ⚠️ 依赖:PlantUML 底层依赖 **Graphviz(dot)**,本地环境必须安装 Graphviz,否则无法渲染。 # 典型适用场景 1. 软件架构设计、接口时序流程图 2. 数据库ER模型设计 3. 技术文档、接口文档嵌入示意图 4. 自动化文档流水线(CI自动生成架构图) 5. 团队规范统一绘图风格,避免每个人画图样式混乱 # 优缺点 ✅ 优点: - 文本形式,适合代码仓库管理 - 自动化、可批量生成 - 跨平台、编辑器通用 - 语法标准化,团队统一图纸风格 ❌ 缺点: - 高度自定义美观样式学习成本较高 - 不适合复杂自由布局、大量不规则图形 - 本地部署需要额外安装 Graphviz 原文出处:http://www.malaoshi.top/show_1GW3kg0wFs09.html