我想创建一个打开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),但都没有用——我不知道如何保存到手动“SaveAs”可用的其他文件类型
编辑:我还需要知道如何在页面中导航(获取页面列表并在页面中迭代并保存到svg文件),以及(令人羞耻的)如何在导出文件后正确关闭文件
我想补充一点,从Visio导出SVG有两个选项。通常,Visio会添加一组额外的数据,例如用户定义的单元格、图层和形状数据字段。如果您希望针对导出进行编程,或在将来某个时间重新导入到Visio,这将非常有用
然而,如果您想要小而干净的SVG,您就不会想要所有这些额外的东西。因此,您可以将Visio.Application.ApplicationSettings.SvgeExportFormat设置为以下值之一:
添加到SVG导出中的额外Visio信息很容易找到,只需查找带有“v:”前缀的元素即可
您需要使用
page.Export
方法而不是ExportAsFixedFormat。只要给目标文件.svg
扩展名,就可以了顺便说一句,我有一个Visio加载项(检查配置文件),它向导出添加了一些有用的东西,如连接、属性等,以便从JavaScript中使用。它也可以通过编程方式调用
相关问题 更多 >
编程相关推荐