draw.io 桌面版:免费本地绘图与批量导出的桌面工具
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
想把一整文件夹的图批量导出成 PDF,又不想为商业软件付费?draw.io 桌面版(drawio-desktop)是一个基于 Electron 的本地绘图工具,它把 draw.io 核心编辑器封装成桌面应用,让你离线画流程图、UML 与网络拓扑图,个人和团队都免费使用。
项目速览
| 项目 | 内容 |
|---|---|
| 💰 许可证 | Apache 2.0,不改代码即可任何用途免费使用 |
| 🖥️ 支持平台 | Windows / macOS / Linux |
| ⚙️ 技术栈 | Electron + electron-builder 打包,Node.js ≥ 22.12.0 |
| 📦 当前版本 | 31.3.2(见 package.json) |
| 📁 典型场景 | 流程图、UML、网络拓扑、Visio 旧文件转换 |
| 📤 导出格式 | PDF、PNG、JPEG、SVG、XML、HTML |
它凭什么值得装
- 免费无限制:Apache 2.0 授权下你接受"按现状提供"即可商用,当前版本 31.3.2,不绑定任何付费账号。
- 默认隔离联网:程序唯一的外联是启动时检查更新;所有 JS 文件自包含,内容安全策略禁止远程脚本执行,图表数据不会外发。
- Windows 三种装法:NSIS 安装器装到 Program Files、按机器生效且需要管理员;MSI 按用户安装、无需管理员;便携版不注册文件关联、解压即跑。
- 自带命令行导出:同一程序可用
drawio -x把 .drawio、VSDX、CSV、Mermaid 文件批量转成 PDF、PNG 等格式。 - macOS 快速预览:在 Finder 中对 .drawio 文件按空格键即可预览,不必启动整个应用。
从零到第一个成品
第一步:安装(从源码构建)
git clone --recursive https://gitcode.com/GitHub_Trending/dr/drawio-desktop cd drawio-desktop npm install注意:需要 Node.js >= 22.12.0(package.json 的
engines字段);--recursive不能省,核心编辑器是 git 子模块,缺了它构建会直接失败。
第二步:启动
运行npm start即可启动应用。日志不够用就加参数npm start --enable-logging;想看 DevTools 则先设置DRAWIO_ENV=dev再启动。
第三步:画完第一张图
- 从File菜单新建一张空白图
- 在左侧General形状库拖出矩形和菱形,用连接线把两个形状接起来
- 在右侧Diagram面板勾选Grid(默认 10 pt)、Page View,并选Paper Size(如 US-Letter 纵向)
- 在File菜单里把成品导出为 PNG、PDF 或 SVG 保存
亮点功能实测
拖拽画出一张流程图
左侧是Search Shapes搜索框加分类形状库,矩形、菱形、圆柱、箭头等基础元素都排在General组里;中间是网格画布;右侧Diagram面板可实时开关Connection Arrows、Connection Points、Guides等选项。操作就是"左拖右连":从形状库拖到画布,选中形状后拉出连接线,样式在右侧面板调整。适合业务流程、组织架构这类"方框加箭头"的图。
draw.io 桌面版主界面:左侧形状库、中央网格画布、右侧 Diagram 页面属性
命令行批量导出和格式转换
程序支持命令行调用,完整参数可用-h查看,常用组合如下(每条一行,均可直接试):
-x:导出输入文件或整个文件夹-f <格式>:输出 pdf / png / jpeg / jpg / svg / xml / html,默认 pdf-o <文件/目录>:指定输出,省略时沿用输入文件名-r:递归处理子文件夹-a:PDF 和 HTML 导出全部页-t:PNG、SVG 输出透明背景--layout verticalFlow:导出前自动排版,预设还有 horizontalFlow、verticalTree、radialTree、organic--theme dark:导出图主题,可选 dark / light / auto
输入端除 .drawio 外还支持VSDX、CSV、Mermaid(.mmd/.mermaid),所以旧 Visio 文件可以直接转成 PNG 归档。适合批量出图、CI 流水线、历史资料整理。
三行命令给企业断网部署
README 明确写了两条底线:图表数据从不外发、不采集任何使用统计。在此基础上你还能收得更紧:
- 默认状态:仅启动时向 GitHub 检查更新,可接受
- 启动加
--disable-update:完全关闭更新检查 - 环境变量
DRAWIO_DISABLE_UPDATE=true:适合统一配置的企业机器 - 想保留检查但下载前先问:用
--no-silent-update
另外有个例外要知道:图里如果引用了外部图片、背景或字体 URL,打开时会去请求那些地址。所以陌生来源的 .drawio 文件要谨慎打开。适合网络隔离要求严格的财务、内网环境。
让效率翻倍的小技巧
--quality 90:JPEG 导出质量,90 是默认值--border 10:给导出图四周留白(默认 0,贴边裁切)--width 800或--height 600:固定导出图尺寸,自动保持比例--page-range 1..3:PDF 只导出第 1 到 3 页--embed-diagram:把可编辑的图数据嵌进 PNG/SVG/PDF-V看版本号,-h列出全部参数- 数据目录:macOS 在
~/Library/Application Support/draw.io,Windows 在C:\Users\<USER-NAME>\AppData\Roaming\draw.io\,定期备份即可
你可能踩的坑(FAQ)
问题:npm start起不来,提示找不到编辑器文件解决方案:克隆时漏了--recursive,子模块没初始化。在项目根目录执行git submodule update --init补拉,再重新npm install。
问题:Windows 上没有管理员权限,装不了解决方案:下draw.io-<version>.msi(按用户安装,免管理员),或便携版draw.io-<version>-windows-no-installer.exe(免安装直接运行,代价是不注册文件类型关联)。
问题:企业环境要求彻底断网,但启动时还会检查更新解决方案:设环境变量DRAWIO_DISABLE_UPDATE=true,或启动时带--disable-update;两者都不改的话,至少加--no-silent-update让下载前弹确认。
问题:源码改完启动,窗口却开在了官方 draw.io 里,改动不生效解决方案:draw.io 每个用户只允许一个运行实例,官方版本在跑时你的构建只会往官方实例里开窗口。先彻底退出官方 draw.io,再执行npm start。
问题:自己构建的 macOS 包拷到别的 Mac 打不开,提示已损坏解决方案:个人构建是未签名的,把应用放进/Applications后执行一次xattr -cr /Applications/draw.io.app清除隔离标记即可,详见 个人构建指南。
写在最后
draw.io 桌面版把完整的 draw.io 编辑器免费搬到了本地:数据不出机器,Apache 2.0 随便用,还附带一套命令行批量导出工具,这是不少付费软件也不带的。如果你受够了商业绘图软件的授权费,它值得先装来跑一遍真实文件。
立即行动:
- 下载对应平台的安装包;没管理员权限就先试 MSI 或便携版
- 打开一个现成的 .drawio 或 VSDX 文件,确认能导入,再导出成一张 PNG
- 有批量需求就在终端试一次
drawio -x -f pdf转换一个文件夹 - 企业部署前先配好
DRAWIO_DISABLE_UPDATE=true再分发
工具好不好用,最快验证方式就是把你的真实文件丢进去跑一遍,今晚就能试完。
延伸阅读
- 个人构建指南:fork 后如何构建自己的未签名版本
- 发布流程:官方 release 的完整步骤
- 主进程入口:窗口管理、IPC 与自动更新的核心代码
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考