如何从幻灯片中获取 SmartArt 信息(文本、名称、类型)?

How to get SmartArt information (text,name,type)from a slide?

我必须从智能艺术中找到以下信息。 SmartArt 类型SmartArt 名称 以及其中的文本

从上图中我想找到以下信息

  1. 类型:层次结构。
  2. 名称: 组织结构图。
  3. 正文: Madan4.

使用或不使用互操作 到现在用OpenXML我只能得到一个smart art的文本

var diagramDataPartsList = slidePart.DiagramDataParts;
if (diagramDataPartsList.Count() > 0)
{
    foreach (var diagramDataParts in diagramDataPartsList)
    {
        var text = diagramDataParts.DataModelRoot.PointList.InnerText;
        if (!string.IsNullOrEmpty(text))
        {
            Console.WriteLine(text.ToString());    
        }
    }
}

我的答案来自 here 答案是

if (shape.HasSmartArt == MsoTriState.msoTrue)
{
    var val1 = shape.SmartArt;
    string name = val1.Layout.Name;
    string category = val1.Layout.Category;
    string text1 = "";
    foreach (SmartArtNode node in val1.AllNodes)
    {
        text1 += node.TextFrame2.TextRange.Text;
    }
    Console.WriteLine("Smartart : {0} \tCategory : {1}\t Name : {2} text : {3}", (i++).ToString(), category, name, text1);
}