news 2026/10/22 1:17:36

drawio-desktop 教程:本地图表编辑器,批量导出 6 种格式,Visio 文件兼容

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
drawio-desktop 教程:本地图表编辑器,批量导出 6 种格式,Visio 文件兼容

drawio-desktop 教程:本地图表编辑器,批量导出 6 种格式,Visio 文件兼容

【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop

drawio-desktop 是 draw.io 的官方 Electron 桌面构建,让你在本地离线环境打开、编辑并批量导出 VSDX、CSV、Mermaid 等图表文件。如果你的团队 Mac 和 Linux 混用、要处理同事发来的 Visio 文件,或需要随文档发布交付一批 PNG 图,它可以替代逐个打开界面操作的工作。当前版本 32.4.1(见 package.json 的 version 字段),采用 GPL v3 许可,不修改代码即可用于任何用途。

跑通第一次(最小上手路径)

前置条件:Node.js 22.12 及以上(package.json 的 engines 声明为 >=22.12.0)加 npm,安装依赖阶段需要联网。

git clone --recursive https://gitcode.com/GitHub_Trending/dr/drawio-desktop cd drawio-desktop npm install npm start

第 1 条命令的--recursive不能省:核心编辑器 drawio 是 git submodule,漏掉它 drawio/ 目录是空的,应用无法启动。npm install完成后依赖落进 node_modules;npm start启动编辑器窗口。

启动后界面分三块:左侧形状库、中央网格画布、右侧属性面板,拖一个矩形进画布即可开始画图。排障用两个开关:npm start --enable-logging打开日志输出,报错信息会打印到终端;DRAWIO_ENV=dev npm start会自动打开浏览器 DevTools。

高频任务

单文件导出为 PNG/PDF/SVG

场景:图表画完,需要一张 PNG 贴进文档,或一份 PDF 归档。

drawio -x -f png -o flowchart.png architecture.drawio

-x启用导出,-f指定格式(pdf、png、jpg、svg、xml、html 共 6 种,不写默认 pdf),-o指定输出文件;输出名带扩展名时以扩展名为准。结果:命令结束,flowchart.png 生成在 -o 指定的位置。

Visio VSDX 文件直接转换

场景:同事发来 .vsdx,你的机器是 Mac 或 Linux,没有 Visio。

drawio -x -f svg -o design.svg design.vsdx

VSDX(以及 CSV、Mermaid 的 .mmd/.mermaid)都在支持的输入列表里,直接当输入文件,不需要先转成别的格式。结果:生成 design.svg,图表内容完整保留,可再用 drawio 打开继续编辑。

整目录批量导出 PNG

场景:docs 目录下有 20 张架构图,要随发布说明一起交付 PNG。

drawio -x -f png -r -o ./docs-images ./docs

-r递归处理子目录(只对文件夹输入生效),输出文件与输入同名、扩展名换成 .png;加-k则跳过已有输出文件的条目,适合反复运行的增量导出。结果:一条命令跑完,20 张 PNG 全部落在 docs-images 目录。

它能不能做什么

对比项drawio-desktopMicrosoft Visio在线绘图工具
平台Windows(x64/ARM64)、macOS 13+、Linux 官方包以 Windows 为主依赖浏览器
费用免费(GPL v3)需购买授权免费或订阅制
数据流向完全本地,唯一外连是每日版本检查本地文件需上传服务器
输入格式drawio、VSDX、CSV、Mermaid原生 VSDX因工具而异
输出格式PDF、PNG、JPG、SVG、XML、HTML 共 6 种视版本而定因工具而异

它也有两个明确的边界:

  • 不接受贡献:项目对社区 PR 关闭(见 README.md 的 "Not open-contribution" 一节);但 GPL v3 允许你 fork 后修改并构建个人版本,流程在 doc/BUILDING_FOR_PERSONAL_USE.md。
  • 系统要求:不提供 32 位 Windows 包,macOS 需 13 及以上(Electron 44 移除了 ia32 与 macOS 12 支持)。

避坑与细节

常用参数

完整参数定义在 src/main/args.js,高频的几个:

  • -k(--check):不覆盖已存在的输出文件,配合批量导出做增量
  • --page-range 1..4:按 1 起始的页码选页,仅对 PDF 格式生效
  • -e(--embed-diagram):把原图嵌入 PNG/SVG/PDF,导出后还能再编辑;纯展示图片不建议用,文件会变大
  • -q 90:JPEG 输出质量,默认 90,要更小的文件就调低

性能

  • --size diagram(默认)把输出裁到图表内容范围,比整页导出更轻;需要完整页面时才用--size page
  • --layout verticalFlow:导出前跑一次布局算法,预设名有 verticalFlow、horizontalFlow、verticalTree、horizontalTree、radialTree、organic,复杂文件耗时更长
  • --timeout 60:单文件超过 60 秒记为失败并继续下一个,默认 0 表示不限;批量任务防坏文件卡死时用

安全与隐私

  • DRAWIO_DISABLE_UPDATE=true或--disable-update:关闭更新检查,这是应用唯一的外连动作(每天一次),相关逻辑在 src/main/electron.js
  • 不要打开不可信来源的图表:图表可引用外部图片、背景或字体,打开时会请求这些 URL,把你的 IP 暴露给对方服务器
  • 应用的 CSP 禁止远程 JavaScript,图表数据与使用统计都不外传

快速问答

Q:如何验证命令行可用?A:运行drawio -V,能打印版本号(当前 32.4.1)即可;drawio -h查看完整参数列表。

Q:Windows 没有管理员权限,装哪个包?A:选.msi(按用户安装,不需要管理员)或便携版 zip(免安装,但不注册文件关联);NSIS 的.exe是按机器安装,需要管理员权限。

Q:源码方式启动不了怎么办?A:先确认 clone 时带了--recursive,否则缺编辑器 submodule;然后用npm start --enable-logging打开日志输出,看终端报错;需要 DevTools 就改用DRAWIO_ENV=dev npm start。

把 6 种格式各跑一遍,感受 PDF 和 SVG 的差别;再把带-k的批量导出命令写进文档发布脚本。命令行熟悉之后,图表文件对你来说就不再是平台问题了。

【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 1:16:06

ubuntu实践(含有xshell使用)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 1:15:35

星球系列靶机Venus

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 1:14:25

IDS国际数据空间(工业数据空间)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 1:12:17

组态王6.55安装配置全流程:避开常见坑,跑通工业监控系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 1:12:16

HVAC多点测温实战:PJ85718DM远程与本地温度监测方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华