Python和Visio 365:自动保存到.svg

问题描述 投票:0回答:2

我想创建一个脚本来打开Visio文件(.vsd),将其保存到vsdx,pdf和svg(vsd的每一页都是单独的文件),关闭文件,然后打开下一个文件,直到文件结束。] >

到目前为止,我已成功使用[Python Visio to pdf]将其保存为.pdf。>

import win32com.client

#change later to dynamic current path
path= r"C:/automation_visio/"

visio = win32com.client.Dispatch("Visio.Application")
doc = visio.Documents.Open(path+'test.vsd')
doc.ExportAsFixedFormat( 1, path+'test.pdf', 1, 0 ) #exports as pdf only XD

我看过很多地方(最相关的地方:https://docs.microsoft.com/en-us/office/vba/api/visio.document.saveas),但无济于事-我不知道如何保存为手动“另存为”可用的其他文件类型。

编辑:我还需要知道如何浏览页面(获取页面列表并迭代页面并保存到svg文件),以及(可耻地)如何在导出文件后正确关闭文件。

我想创建一个脚本来打开Visio文件(.vsd),将其保存到vsdx,pdf和svg(vsd的每一页都是单独的文件),关闭文件,然后打开下一个文件,直到文件结束。到目前为止,我...

python visio
2个回答
0
投票

您需要使用page.Export方法代替ExportAsFixedFormat。只要给目标文件加上.svg扩展名,就可以了。

BTW,我有一个Visio加载项(检查配置文件),该添加了一些有用的东西到导出中,例如连接,属性等,可以在JavaScript中使用。而且也可以通过编程方式调用。


0
投票

我想补充一点,从Visio导出SVG有两种选择。通常,Visio将添加大量额外的数据,例如用户定义的单元格,“图层”和“形状数据”字段。如果您要对导出进行编程,或者在将来的某个时间重新导入到Visio,这将很有用。

© www.soinside.com 2019 - 2024. All rights reserved.