不买 Visio:用 draw.io 桌面版免费打开、编辑并导出 .vsdx 文件
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
同事在 Windows 上用 Visio 画完流程图,把 .vsdx 文件丢给你,你的 Mac 或 Linux 上连打开的入口都没有。先别急着买授权:draw.io 桌面版,官方出品的 Electron 桌面应用,能直接打开 Visio 文件、全程离线编辑,还能导出 PDF、PNG 等格式,完全免费。
技术底色:本地优先的桌面壳
它是 Electron 壳子,装载 draw.io 核心编辑器,drawio/目录是 git submodule。桌面壳按 GPL v3 协议发布(见 package.json 的 license 字段),核心编辑器为 Apache 2.0。内容安全策略禁止运行远程加载的 JavaScript,图表数据不上传、无统计上报,默认唯一联网行为是更新检查。
从源码跑通 draw.io 桌面版只要三条命令
前置条件只有一个:Node.js 22.12 或更高,package.json 的 engines 字段写死了这个下限。
git clone --recursive https://gitcode.com/GitHub_Trending/dr/drawio-desktop cd drawio-desktop npm install && npm start- 第一条:
--recursive负责初始化 drawio 子模块,漏掉它核心编辑器目录是空的,启动必失败 - 第二条:进入仓库根目录
- 第三条:装完依赖直接启动,弹窗即是完整绘图界面,无需任何额外配置
能力地图:四个高频场景
导入 VSDX 文件:draw.io 桌面版直接打开即可编辑
- 场景:同事在 Windows 上用 Visio 做的文件,你要在 Mac 或 Linux 上继续改
- 操作:把 .vsdx 文件拖进应用或菜单打开,形状、连接线和文本都会转成可编辑元素,不需要任何第三方转换器
- 证据:src/main/args.js 中
--export的说明明确写着"除 draw.io 文件外,vsdx、csv 和 Mermaid(.mmd/.mermaid)输入也受支持"
命令行批量导出 PDF、PNG 与 SVG
- 场景:CI 流水线自动出图,或一次把几十张图交付给文档系统
- 操作:安装好的 draw.io 本身是命令行工具,用
--export指向整个文件夹即可批量转换 - 证据:输出格式被正则白名单限定为 pdf、svg、png、jpeg、jpg、xml、html 七种,
--all-pages导出全部页,--width、--height可约束输出尺寸,均在 src/main/args.js 中可核对
drawio --export -fpdf -a --width 1920 diagrams/-fpdf指定格式,-a即--all-pages,缺省输出与输入同名。
彻底离线:一行关闭更新检查
- 场景:内网隔离的办公环境,或图表涉及敏感架构信息、不允许出内网
- 操作:启动时加
--disable-update参数,或设置环境变量DRAWIO_DISABLE_UPDATE=true - 证据:README.md 的 Security 一节写明"除更新流程外与互联网完全隔离",且"不向外部发送任何图表数据或使用统计"
按权限选 Windows 安装方式
- 场景:公司电脑被 IT 管控,你没有管理员权限
- 操作:选 MSI(装到用户目录,按用户安装)或便携 zip(解压即跑),都免管理员;NSIS 安装器才需要管理员权限
- 证据:README.md 的 Windows installation 一节列全了三种包的差异,ARM64 设备另有原生包
横向参照:三条决策线
| 对比维度 | draw.io 桌面版 | 在线绘图 | Visio |
|---|---|---|---|
| 平台 | Windows / macOS / Linux | 依赖浏览器 | 基本只有 Windows |
| 费用 | 免费(GPL v3 / Apache 2.0) | 免费档功能受限 | 按年订阅 |
| 数据去向 | 全部留在本机 | 需联网传输 | 本地处理 |
| VSDX 导入 | 直接打开并编辑 | 支持有限 | 原生支持 |
避坑与澄清
⚠️npm install 失败先查 Node 版本。低于 22.12 会直接不满足 engines 声明,这是 package.json 写明的最低要求。
⚠️打开来源不明的图表会触发外部请求。README.md 提醒:若图表引用了外部图片、背景或字体,打开时会向这些 URL 发请求,可能把你的 IP 暴露给对方服务器——图表内容本身不外发,但小心匿名性。
⚠️你的图表存在哪?macOS 是~/Library/Application Support/draw.io,Windows 是C:\Users\<用户名>\AppData\Roaming\draw.io\,均在 README.md 中列出,删机器前先备份。
它会不会把图表传到云端?不会。默认唯一联网行为是启动时的更新检查,用--disable-update可彻底关闭,src/main/disableUpdate.js 即为此开关的实现。
下一步
今天有人又给你发 .vsdx,直接跑:
git clone --recursive https://gitcode.com/GitHub_Trending/dr/drawio-desktop装好依赖npm start就能用。想改外壳自己构建?doc/BUILDING_FOR_PERSONAL_USE.md 有 fork 后打无签名包的完整步骤。
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考