文本编辑 draw.io 文件,导出为带有嵌入绘图的 SVG

Text-editing a draw.io file exported as SVG with embedded drawing

我通常将 draw.io 绘图导出为 SVG,并选择 "include a copy of my diagram" 选项。这使我能够在支持 SVG 的浏览器中显示它们,然后在 draw.io.

中打开并进一步修改它们

我想对 SVG 文件进行一些脚本编辑,例如修改 link 我已添加到形状的 href,但通常是任何内容。在我有限的测试中,我发现我可以在文本编辑器中打开这些 SVG 文件之一,更改 href,保存,然后仍然在浏览器和 draw.io 中重新打开文件。

让我担心的是 SVG 文件中的 base-64 文本块,我认为它是嵌入的 "copy of my diagram"。我是否冒着让 SVG 与嵌入式图表不同步的风险,或者这样做是否安全?

您使 SVG 与嵌入图表不同步。 base64 编码文本只是 XML 数据的 GZIP 压缩表示。此示例演示如何 uncompress/compress XML: https://github.com/jgraph/drawio-tools/blob/master/tools/convert.html (the SVG output is that of the first page, ie the first diagram tag in the mxfile). You can see it in action at https://jgraph.github.io/drawio-tools/tools/convert.html 最后,为了 link 将 SVG 输出到 XML 数据,有一个插件可以在 SVG 输出中嵌入单元格 ID(和元数据)(参见 https://github.com/jgraph/drawio/blob/master/war/plugins/svgdata.js or https://www.draw.io?p=svgdata)。