使用Python迭代Visio形状



我是Python的新手,我有许多Visio流程图,需要它们:1( 从形状中提取文本2( 根据形状类型对形状进行分类(例如过程或系统/数据库(

有人知道或有任何好的样本代码,我可以学习吗?

感谢

不干净,但对我来说很好。

首先用以下内容打开文档:

import win32com.client
visio_application = win32com.client.gencache.EnsureDispatch("Visio.Application")
try:
opened_doc = app_visio.Documents.Open(visio_file)
except Exception as e:
print("Error" + str(e))

这是我将打开的文档中的所有页面添加到列表中的方式。

pageCounter = int(opened_doc.Pages.Count)
listOfVisioPages = []
for i in range(1, pageCounter + 1, 1):
print("Pagenumber: " + str(i))
pageI = self.opened_doc.Pages.Item(i)
print("Pagename: " + str(pageI.Name))
listOfVisioPages.append(pageI)

现在,您只需要解析每一页的形状信息。

listofShapes = []
shapes = page.Shapes
shapeCounter = shapes.Count
for j in range(1, shapeCounter + 1, 1):
listofShapes.append(shapes.Item(j))

使用获取形状文本

shape_text = shape.Text

最新更新