首页 > 解决方案 > 以编程方式在 vsdx 文件中创建/操作 visio 绘图

问题描述

我需要以编程方式部署 visio 可视化。目前我只需要添加带有以下属性的便签:大小、位置、颜色、其上的文本和文本对齐方式,但该解决方案将来应该可以扩展为更多形状。有关形状的信息存储在 google cloud firestore 数据库中。我对任何类型的解决方案和代码语言都持开放态度,但如果可能的话,运行支持 Node.js、Python 和 Go 的谷歌云功能会很棒,但我还阅读了有关支持 .NET 的信息,而且应该是如果可能的话,开源。我完全不是经验丰富的代码开发人员,因此如果您能提供一些代码示例,那就太好了。这就是我在我找到的所有文档中真正错过的内容。

据我研究,在这种情况下 Visio 2016 SDK 会很有趣。但我没有找到我需要的密切例子。Fe此链接显示如何替换形状中的文本,或者此链接显示如何添加矩形形状。但是解释很少...我用master..XML,page..XML等分析了visio文件本身,但是值的数量令人困惑。这让我想到了 SDK 将如何处理这个问题?如何定义主形状,如何格式化它们?

另一种选择是 Apose.Diagram API,但我不确定是否支持便笺。此处提供了一个示例。不幸的是,它是商业的,但如果没有其他选择,我会选择它。

谢谢你的建议!

标签: c#vbavisio

解决方案


就像关于实际状态的信息一样:我通过手动操作 vsdx 来“解决它”。vsdx 只是一个以 .vsdx 结尾的压缩 zip 文件。如果将其重命名为 .zip,您将看到许多 xml 文件。如果您只需要放置没有相互关系的简单形状,文件 page1.xml 是一个重要的文件。在 page1.xml 中有名为 的 xml-parts,只需对这些部分进行操作和相乘即可。我还没有尝试 sdk,或者像 apose.diagram 这样的第三方解决方案,但是对于以矩形形式可视化对象的实际用例,它已经足够好了


推荐阅读