我正在尝试在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.