使用Open XML SDK 2.0获取占位符值

我正在尝试在PowerPoint幻灯片中深入研究Shapetree,以获取形状的占位符值. shapetree上的形状如下所示:

<p:sp>
    <p:nvSpPr>
        <p:cNvPr id="10" name="Text Placeholder 2"/>
        <p:cNvSpPr>
            <a:spLocks noGrp="1"/>
        </p:cNvSpPr>
        <p:nvPr>
            <p:ph type="body" sz="quarter" idx="13" hasCustomPrompt="1"/>
        </p:nvPr>
    </p:nvSpPr>
    <p:spPr>
        <a:xfrm>
            <a:off x="457200" y="3276601"/>
            <a:ext cx="8229600" cy="838199"/>
        </a:xfrm>
        <a:prstGeom prst="rect">
            <a:avLst/>
        </a:prstGeom>
    </p:spPr>
    <p:txBody>
        <a:bodyPr lIns="91421" tIns="45710" rIns="91421" bIns="45710"/>
        <a:lstStyle>
            <a:lvl1pPr marL="0" indent="0" algn="ctr">
                <a:buFontTx/>
                <a:buNone/>
                <a:defRPr sz="2400" b="1" baseline="0">
                    <a:solidFill>
                        <a:schemeClr val="tx1"/>
                    </a:solidFill>
                    <a:latin typeface="+mj-lt"/>
                    <a:cs typeface="Arial" pitchFamily="34" charset="0"/>
                </a:defRPr>
            </a:lvl1pPr>
        </a:lstStyle>
        <a:p>
            <a:pPr lvl="0"/>
            <a:r>
                <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                <a:t>Click to enter course title</a:t>
            </a:r>
        </a:p>
    </p:txBody>
</p:sp>

我感兴趣的部分如下所示:

<p:nvPr>
    <p:ph type="body" sz="quarter" idx="13" hasCustomPrompt="1"/>
</p:nvPr>

我正在尝试获取idx值(在这种情况下为13).

到目前为止,我正在使用的语句看起来像这样(我之所以说“到目前为止”,是因为我不知道如何完成该语句):

var index = shape.NonVisualShapeProperties.NonVisualShapeDrawingProperties. <-???

在代码的这一点上,我已经有了想要的形状,只是无法弄清楚如何使用Open Office SDK获得占位符值.我想我可以将其视为普通的旧XML并通过元素名称来获取它,但是我认为OOXML SDK将为此内置一些方法.

解决方法:

终于弄清楚了如何做到这一点:

索引= int.Parse(shape.NonVisualShapeProperties.ApplicationNonVisualDrawingProperties.PlaceholderShape.Index);

当我应该一直使用ApplicationNonVisualDrawingProperties时,我正在使用NonVisualShapeDrawingProperties.

上一篇:OpenXML:用WordprocessingML中的表替换元素


下一篇:CodeGo.net>如何在OpenXML段落,运行,文本格式保留字符串?