Draw.io 桌面版:直接打开 Visio VSDX 文件,一条命令批量导出图表
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
同事发来一份 Visio 流程图,你的 Mac 或 Linux 上却提示无法识别格式。drawio-desktop 是 draw.io 的官方桌面版,能直接打开并编辑 .vsdx 文件,免费且完全离线可用。
先弄清楚这三件事
drawio-desktop 用 Electron 把网页版 draw.io 编辑器装进了独立应用,源码入口在 src/main/electron.js。它打开的不再只是 .drawio 文件,Visio 的 .vsdx、Mermaid 的 .mmd/.mermaid 也能直接编辑。
它替代的其实是两样东西:装在 Windows 上的 Visio(付费、单一平台),以及需要联网的在线版 draw.io。装好它之后,画流程图、架构图、UML 图不再依赖任何网页。
它适合三类人:手里有 Visio 遗留文件但用不了 Visio 的个人;Windows 和 macOS 混用、想统一绘图工具的团队;需要离线环境、图表数据不能出本机的企业。项目采用 Apache 2.0 协议,商业使用没有授权费。
| 对比项 | drawio-desktop | 在线版 draw.io |
|---|---|---|
| 网络依赖 | 完全离线 | 必须联网 |
| VSDX 文件 | 打开、编辑、回存 | 只能导入导出 |
| 图表数据 | 存在本地文件 | 依赖云端或手动保存 |
安装与首次启动步骤
不想折腾的,直接去项目发布页下载对应系统的安装包。Windows 有三个版本:NSIS 安装版(需要管理员权限)、MSI 版(无需管理员权限,装在当前用户下)、便携版(免安装)。日常使用推荐 MSI 版。
想用源码版的话,先确认 Node.js 版本不低于 22.12.0,然后依次执行:
git clone --recursive https://gitcode.com/GitHub_Trending/dr/drawio-desktop npm install npm start
首次启动后界面是经典三栏:左边是形状库,中间是画布,右边是属性面板。第一个任务很简单:菜单 File → Open 打开一个 .vsdx 或 .drawio 文件,拖拽形状、双击改文字,File → Save 即可回写原文件。
功能深潜:三个真实任务场景
场景一:接手一份 Visio 遗留文件。安装版在系统里注册了 .vsdx 文件关联(配置见 electron-builder-win.json 的 fileAssociations,macOS 和 Linux 同样注册),双击就能用 drawio-desktop 打开。打开后图层、连接线、样式基本都保留,改完直接另存为 .vsdx 交还对方,不需要再转手 Visio。
场景二:内网部署,数据不出本机。应用默认就与互联网隔离,内容安全策略(CSP)禁止运行任何远程加载的脚本,也不发送任何使用统计。如果公司环境连更新检查都不想要,启动时加 --disable-update 参数,或设置环境变量 DRAWIO_DISABLE_UPDATE=true,实现完全离线运行。
场景三:发版前批量出图。不用手动点几百次导出,命令行一条命令搞定。比如把整个目录递归转成 PDF 并裁剪掉多余空白:
drawio -x -f pdf -r ./diagrams/ -o ./output/ --crop
它支持 pdf、png、jpg、svg、xml、html 六种格式,还能用 --page-range 1..3 指定导出页码、用 --transparent 得到透明背景。完整的参数清单都定义在 src/main/args.js 里,查起来一目了然。
常见问题
问:Linux 上有安装版吗? 答:有。一份配置同时产出 macOS 的 dmg/zip 和 Linux 的 AppImage、deb、rpm 包,对应脚本在 package.json 的 release-linux 命令里,arm64 架构也覆盖到了。
问:为什么双击 .vsdx 文件,应用没反应? 答:多数情况是用了 Windows 便携版——它免安装,所以不注册文件关联。换成 MSI 或 NSIS 安装版,或在文件上手动设置"打开方式"即可;也可以直接用命令行 drawio 文件.vsdx 打开。
问:导出的图总有一圈空白,怎么去掉? 答:导出命令后加 --crop 参数,会自动把 PDF 裁剪到图表实际尺寸;想要图片透明背景再加 --transparent。
问:图表内容会被上传到服务器吗? 答:不会。所有 JavaScript 都打包在应用内,CSP 限制了应用只能连接自身,图表数据不外传,也没有统计上报。唯一例外是图表本身引用了外部图片、字体等资源时,打开会去拉取这些资源以正常渲染,但图表内容不会发出。
问:能向这个仓库提 PR 贡献代码吗? 答:基本不能。README 明确说明项目对社区贡献关闭,维护方更欢迎 bug 报告和功能建议。想动手改代码自用的话,可以看 doc/BUILDING_FOR_PERSONAL_USE.md,讲的是如何构建一个个人使用的非签名版本。
下一步可以做什么
drawio-desktop 把"Visio 文件只能在 Windows 上用"这个老问题,变成了跨平台、可离线、可脚本化的标准方案。现在就可以拉一份源码看看实现,或直接从发布页下载安装包装上试试打开一个 .vsdx 文件,十分钟内你就能感受到差异。
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考