从Microsoft 2013开始,对VSD文档的支持已经结束。我们的应用程序需要使用Visio 2013将VSDX转换为VDX,但我找不到办法。
我尝试使用Visio互操作DLL打开不可见的Visio应用程序,并尝试使用SaveAs将我的VSDX保存为VDX。代码编译和运行,没有任何错误,我得到一个.VDX文件作为输出。当我试图使用Visio查看器查看生成的VDX文件时,它失败了。上面写着
Microsoft查看器无法完成此操作。
它不是作为一个健康文件生成的吗?
我们需要从Visio 2010移到Visio 2019。我们需要找到一种方法来支持VSDX和VDX格式,直到我们所有的应用程序都被迁移。我使用下面的POC将.vsdx转换为.vdx或将.vsd转换为.vdx,当我试图使用Visio查看器查看时,这两种方法都是有效的。-
很少有文章建议我使用下面的POC将.VSDX转换为.VDX或将.VSD转换为.VDX,这两者都很有用。所以,除非我使用Visio2010编辑器,否则.VSD to .VDX是不可能的。
// Create Visio Application Object
Visio.Application vsdApp = new Visio.Application();
// Make Visio Application Invisible
vsdApp.Visible = false;
// Create a document object and load a diagram
Visio.Document vsdDoc = vsdApp.Documents.Open(dataDir + "Drawing1.vsd");
// Save the VDX diagram
vsdDoc.SaveAs(dataDir + "SaveDiagramToVDXwithVSTO_out.vdx");
发布于 2020-04-19 10:16:23
Visio 2013中真正删除了“另存为VDX”功能。即使是从API。如果您使用.SaveAs
调用带有.vdx
扩展名的名称,那么实际上得到的是.vsd
二进制文件,只有扩展名.vdx
。您可以通过在记事本中查看生成的文件来确保这一点--它不是xml。
当您试图在查看器中加载该文件时,它尝试将其解析为xml,但失败了,因为文件实际上是一个二进制文件,因此您将得到此错误。
如果您需要支持.vdx
,请继续使用Visio 2010。
https://stackoverflow.com/questions/61300872
复制相似问题