我习惯性地将draw.io图纸导出为SVG,并选择"包含我的图表的副本"选择。这使我能够在支持SVG的浏览器中显示它们,然后在draw.io中进一步打开和修改它们。
我想对SVG文件进行一些脚本编辑,例如修改我添加到形状中的链接的href,但通常是任何内容。在我的有限测试中,我发现我可以在文本编辑器中打开其中一个SVG文件,更改href,保存,然后在浏览器和draw.io中重新打开文件。
让我担心的是SVG文件中的base-64文本块,我假设它是我的图表的嵌入式副本"。我是否冒险将SVG与嵌入式图表同步,或者这样做是否安全?
答案 0 :(得分:1)
您正在使SVG与嵌入式图表不同步。 base64编码的文本只是XML数据的GZIP压缩表示。此示例演示如何解压缩/压缩XML:https://github.com/jgraph/drawio-tools/blob/master/tools/convert.html(SVG输出是第一页的输出,即mxfile中的第一个图标记)。你可以在https://jgraph.github.io/drawio-tools/tools/convert.html看到它的实际效果 最后,要将SVG输出链接到XML数据,有一个插件将单元ID(和元数据)嵌入SVG输出中(请参阅https://github.com/jgraph/drawio/blob/master/war/plugins/svgdata.js或https://www.draw.io?p=svgdata)。