我知道如何添加某种类型的auto_shape,例如ISOSCELES_TRIANGLE。但是,如何找到幻灯片形状的三角形呢?有没有一种方法可以访问MsoAutoShapeType并获取类型。我想计算一张幻灯片中有多少个三角形。谢谢
答案 0 :(得分:1)
请参阅形状的.auto_shape_type
属性,该属性返回MsoAutoShapeType
值之一。
from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE
pres = Presentation("shapes.pptx")
slide = pres.slides[0]
triangles = []
for s in slide.shapes:
try:
if s.auto_shape_type == MSO_SHAPE.ISOSCELES_TRIANGLE:
triangles.append(s)
except AttributeError as e:
# shape is **NOT** an auto_shape; ignore
print(f'{s.name} is not an AutoShape')
pass
print(len(triangles))