
D2 图表导出完全指南一条命令产出 SVG、PNG、PDF 等 6 种格式【免费下载链接】d2D2 is a modern diagram scripting language that turns text to diagrams.项目地址: https://gitcode.com/GitHub_Trending/d2/d2D2 是一款现代图表脚本语言把文本直接转换成图表。写好一个 .d2 文件之后D2 图表导出可以根据用途输出 6 种结果D2 SVG 导出适合网页、PNG适合截图分享、PDF适合打印文档、PPTX适合演示、GIF适合动画演示以及终端 ASCII 文本。本文从第一条导出命令讲起覆盖格式选择、进阶参数与常见问题处理帮助你在不同场景下拿到合适的产物。一条命令导出 SVG导出的基本形式是输入文件 输出文件两段参数D2 根据输出文件的扩展名判断目标格式d2 diagram.d2 diagram.svg如果你只给出输入文件不写第二个参数D2 会在同目录下生成与输入同名的 .svg。SVG 是默认格式原因是它属于矢量图形放大不糊、文本可选可检索且整个文件就是可编辑的 XML 文本方便后续微调。本地未安装 d2 命令的话可参考仓库中的 安装说明。上面这张由 D2 渲染的架构图展示了嵌套容器、数据库圆柱体与图标混排的效果导出为 SVG 后在浏览器中任意缩放都不会出现像素模糊。D2 支持的 6 种输出格式扩展名说明适用位置.svg默认格式矢量、可编辑网页、文档站点.png位图截图聊天分享、插图.pdf走浏览器渲染管线生成的文档报告、归档.pptx每张 board 对应一页幻灯片汇报、路演.gif多 board 串联成动画流程演示.txt用字符画渲染图表终端、提交信息其中 PNG、PDF、PPTX、GIF 这几种位图格式在内部都会经过一次浏览器渲染因此首次使用比 SVG 慢一些这一点后文常见坑里有对应说明。怎么选 D2 导出格式四个场景各一句建议放进网页或文档站点选 SVG。D2 默认会把用到的图片和分层内容打包进单个 SVG 文件即 bundle 行为直接放进 HTML 就能显示若要在同一段 HTML 里内嵌多张相同结构的图可以加--salt参数给元素 ID 加上后缀避免 ID 冲突。放进打印版报告选 PDF。一页一张 board方便装订和分发。发给同事看一眼选 PNG。位图兼容性最好任何设备都能直接打开。演示一个逐步展开的流程选带动画的 SVG 或 GIF见下一节。进阶参数微调边距、缩放与主题导出命令支持多个可选参数最常用的几个--pad调整图表四周留白像素默认值见 d2svg 渲染器配置--scale整体缩放输出比如 0.5 表示缩到默认尺寸的一半--theme与--dark-theme分别指定主题 ID 和深色模式主题注意深色主题只对 SVG 生效--sketch把手绘风格渲染应用到任意输出格式--bundle默认开启控制是否把外部资源内联进 SVG。主题编号是主题库中的整数 ID同一套主题定义同时决定浅色与深色两套取色导出时只需指定编号即可。用多 board 生成动画 GIF如果你的 .d2 文件里用steps、layers或scenarios定义了多个 board可以加--animate-interval把它们串成一个自动翻页的动画该参数只接受 SVG 或 GIF 两种输出单位为毫秒。GIF 不写时默认每帧停留 1000 毫秒d2 diagram.d2 diagram.gif --animate-interval 800动画 GIF 适合放进 README 或文档里演示状态变化例如资金流向、部署步骤这类分阶段演化的内容。D2 图表导出常见坑及应对1. 首次导出 PNG/PDF 很慢或失败。这几类格式依赖内置的无头浏览器引擎第一次运行需要下载浏览器运行时。若环境受限可先跑一次 SVG 导出确认命令本身没问题再重试位图格式。2.--dark-theme被静默忽略。深色主题仅对 SVG 生效导出其他格式时 D2 会打印警告并放弃该参数。想要深色效果请先产出 SVG再自行转位图。3. 输出路径写成了 .ppt。命令会直接报不支持 ppt你是不是想用 pptx的提示按提示改扩展名即可。4. 大图导出中断。编译有默认 120 秒的超时上限遇到节点数量很大的图表时用--timeout调大该值。5. 多 board 导出后出现一堆目录。当文件包含 layers、scenarios、steps 时D2 会按index.svg、layers/、scenarios/、steps/的结构生成目录树并把图形内指向子 board 的链接改写为相对路径。这是正常行为浏览器打开入口的 index 文件即可正常跳转。6. PNG 里多出一块附录区域。位图无法交互D2 会把 tooltip 和链接内容以附录形式追加在图下方SVG 默认不追加需要时可用--force-appendix开启。小结D2 的导出能力围绕一个输入、六种产物展开日常嵌入网页就用默认的 SVG归档打印用 PDF快速分享用 PNG汇报用 PPTX流程演示用带 interval 的 GIF 或动画 SVG终端场景则可以用 ASCII 文本。格式由输出扩展名决定边距、缩放、主题、动画都通过对应参数在导出命令上直接控制掌握这些之后同一份 .d2 源文件就能适配绝大多数交付场景。【免费下载链接】d2D2 is a modern diagram scripting language that turns text to diagrams.项目地址: https://gitcode.com/GitHub_Trending/d2/d2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考