drawio-desktop:图表本地批量导出与 6 种格式转换完整指南
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
同事发来的 Visio 文件只在 Windows 能打开,20 张架构图要以 PNG 塞进发布说明,逐个打开界面导出太慢。drawio-desktop 是 draw.io 的官方 Electron 桌面构建,让你在本地离线打开、编辑并批量导出这些图表文件。
📦 它是什么:安装前先弄清的 4 个事实
这一节回答「它到底能做什么、不能做什么」,避免装完才发现不对路。
- 官方桌面构建:用 Electron(基于 Chromium 的跨平台桌面框架)封装 draw.io 核心编辑器,Windows、macOS、Linux 三大平台都有官方安装包,另含 Windows on Arm 原生版本
- 许可与费用:GPL v3 许可,不改代码即可免费用于任何用途
- 能力边界:输入支持 drawio、VSDX(Visio 的 XML 图表格式)、CSV、Mermaid 4 类文件;导出支持 pdf、png、jpg、svg、xml、html 共 6 种格式
- 明确限制:不接受外部 PR,想改行为只能 fork 后自己构建
| 对比项 | drawio-desktop | Microsoft Visio | 在线绘图工具 |
|---|---|---|---|
| 平台 | Windows / macOS / Linux | Windows 为主 | 依赖浏览器 |
| 费用 | 免费(GPL v3) | 付费授权 | 免费或订阅制 |
| 数据处理 | 完全本地,不上传 | 本地 | 需上传服务器 |
| 输入格式 | drawio / VSDX / CSV / Mermaid | 原生 VSDX | 因工具而异 |
🚀 源码 4 条命令跑起来(含最容易漏的坑)
不想下载安装包、想直接从源码试的时候,这一节给最短路径和最容易漏的一步。
前提是装好 Node.js 22.12 及以上版本。
注意:必须带--recursive。核心编辑器是一个 git submodule(仓库内的子仓库引用),漏掉它 drawio 目录会是空的,装完依赖应用也起不来。
下面 4 条命令完成克隆、安装依赖并启动应用:
git clone --recursive https://gitcode.com/GitHub_Trending/dr/drawio-desktop cd drawio-desktop npm install npm start窗口打开后界面分三块:左侧形状库、中央画布、右侧属性面板。拖一个矩形进画布,第一张图就画好了。
启动不了时用npm start --enable-logging查看终端日志;设DRAWIO_ENV=dev可再打开浏览器 DevTools 调试界面。
实战场景一:单张图导出成指定格式
一张图要插进文档或 PPT 时,这条命令不经过界面直接把文件转成图片。
drawio -x -f png -o flowchart.png architecture.drawio-x启用导出,-f指定格式,-o指定输出文件,当前目录生成 flowchart.png。以前要在界面里点一次「导出」,现在一行命令出图。
实战场景二:打开同事的 Visio 文件直接转换
拿到 Windows 同事发来的 .vsdx,自己机器是 Mac 或 Linux 时,它可以直接打开,不需要任何中间转换。
drawio -x -f svg -o design.svg design.vsdx转换后得到可无损缩放的 design.svg,适合放进网页和文档。
实战场景三:整个目录批量导出 PNG
docs 目录有 20 张架构图要随发布一起交付时,以前是 20 次界面导出操作,现在 1 条命令。
drawio -x -f png -r -o ./docs-images ./docs-r递归处理子目录,-o指向输出文件夹,输出与输入同名、扩展名换成 .png。加-k会跳过已有文件,适合反复运行的增量导出。
命令行参数速查:常用场景与参数对照
参数记不住时查这张表,完整列表用drawio -h查看。
| 场景 | 参数 | 说明 |
|---|---|---|
| 指定导出格式 | -f,--format | 6 种:pdf / png / jpg / svg / xml / html,默认 pdf |
| 指定输出位置 | -o,--output | 文件或目录;省略时与输入同名、换新扩展名 |
| 多页 PDF 选范围 | --page-range | 1 起始,格式为起..止 |
| 只导某一页 | -p,--page-index | 1 起始;图片格式默认第一页 |
| 目录递归导出 | -r,--recursive | 仅对文件夹输入生效 |
| 防止覆盖 | -k,--check | 跳过已存在的输出,适合增量运行 |
| 透明背景 | -t,--transparent | 对 PNG 和 SVG 生效 |
| 内嵌原图 | --embed-diagram | PNG / SVG / PDF 导出后仍可再编辑,文件会变大 |
| PDF 裁边 | --crop | 裁到图表内容大小 |
| 离线环境 | --disable-update | 关闭更新检查,它是应用唯一的外连动作 |
🛡️ 避坑清单:用之前必看的 5 条
这些是实际使用里最常碰上的情况,每条先说后果,再说怎么办。
- 如果克隆时没带
--recursive,就出现 drawio 子目录为空、应用无法启动;补救是运行git submodule update --init或重新克隆。 - 如果输出文件名带了扩展名,
-f会被忽略、以扩展名为准;格式不符合预期时检查输出名。 - 如果打开不可信来源的图表,就会请求文件里引用的外部图片、背景或字体 URL,可能把你的 IP 暴露给对方;只运行可信来源的文件。
- 如果 Windows 没有管理员权限,
.exe的 NSIS 安装器装不上;改选.msi(按用户安装)或 portable 免安装 zip 包。 - 如果处于完全离线的内网环境,启动时的更新检查会失败;设环境变量
DRAWIO_DISABLE_UPDATE=true或在启动参数加--disable-update关掉它。
延伸阅读:仓库里的 3 个入口
需要深入时,直接看下面这几处。
- doc/BUILDING_FOR_PERSONAL_USE.md:fork 后修改代码、构建未签名个人版的逐步指南
- doc/RELEASE_PROCESS.md:官方发布的构建、签名与发布流程细节
- src/main/args.js:全部命令行参数的定义源码,查参数时的最终依据
图表文件从此不再是平台问题,你手里多了一个能离线批量出图的本地工具。
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考