如何使用命令行将 plantuml 代码插入 draw.io 并将图表作为无头选项输出?

如何使用命令行将 plantuml 代码插入 draw.io 并将图表作为无头选项输出?

我知道可以将 plantuml 插入 draw.io 并使用 GUI 输出图表。请参阅https://www.drawio.com/blog/plantuml例如。

我知道可以使用命令行让 draw.io 桌面生成不同格式的图表,比如 pdf、png、svg。请参阅https://tomd.xyz/how-i-use-drawio/例如。

我想要做的是将两者结合起来:

  • 仅使用命令行(或任何其他无头方法,如调用 API),
  • 当输入仅是 plantuml 代码时
  • 以 draw.io XML 格式或 .svg 格式生成图表

这可能吗?如果不行,有没有办法将它们拼接在一起?

答案1

这里有一个 Perl 脚本:

Github 上的 PlantUML 到 Draw.io Perl 脚本

从命令行将包含 PlantUML 代码的文件转换为 Diagrams.net(又名 Draw.io)XML 文件

使用方法:

./plantuml_to_drawio_xml.pl foo.plantuml > foo.drawio.xml

README 描述了脚本的作用:

  1. 使用 java 和 PlantUML jar 将 PlantUML 纯文本数据转换为 SVG 数据,使用 Base64 对 PlantUML SVG 数据进行编码
  2. 将 PlantUML 文本数据编码为 XML/HTML/URL 格式
  3. 从 SVG 数据中获取 SVG 尺寸,以添加到 Draw.io XML 参数中
  4. 获取 PlantUML 文件的最后修改日期,以将其设置为 Draw.io XML 参数中的修订日期
  5. 创建 Draw.io XML 文件并输出到标准输出

相关内容