PPTX - 查找文本是否是OpenXML中的项目符号

时间:2012-03-23 07:13:21

标签: openxml presentationml

我找不到任何可以告诉我txBody标签中的文字是否带项目符号的指标,你能不能指出我应该使用哪个指标来理解文本是项目符号还是普通文件?

- 谢谢你

1 个答案:

答案 0 :(得分:3)

在txBody标签内,您可以查找标签“a:buFont”和“buChar”,它可以帮助您识别文本是否带项目符号。例如

<a:buFont typeface="Arial" pitchFamily="34" charset="0"/>
<a:buChar char="•"/>
  

更新

嗨,+1发布此问题,从中学到了很多东西。

谷歌搜索后我发现这个link解决了类似的问题,来自Adamm的响应清除了这个,

  

“好的,所以我想我已经弄清楚了。基本上如果没有格式化   在布局或幻灯片中指定,它将转到master,如果   它是一个'标题'或'ctrTitle'形状,它使用格式    它默认为lvl1。对于没有的文本也是如此   在标题形状中,对于这些,它默认为格式    如果没有指定lvl,则默认为lvl1。和   另一条建议,虽然与我原来的建议不相符   问题,slideMaster中还有另一个txStyle,   用于不在txBody中的形状的文本。“

现在你的pptx中的幻灯片正在使用“Office主题”,你感兴趣的文字是幻灯片设计中的格式形状。弹出的文本继承自SlideMasters中的slideMaster1.xml。

如上所述,buletted文本是从slideMaster1.xml中的“p:bodyStyle”的“a:lvl1pPr”继承的,你也可以看到2级子弹默认为“ - ”为办公室主题幻灯片大师那里。

我尝试通过将char =“•”更改为“&gt;”来确认这一点看到项目符号变为“&gt;”在下面的行

<p:bodyStyle>
      <a:lvl1pPr marL="342900" indent="-342900" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1">
        <a:spcBef>
          <a:spcPct val="20000"/>
        </a:spcBef>
        <a:buFont typeface="Arial" pitchFamily="34" charset="0"/>
        <a:buChar char="•"/>
        ....

现在,如果你想以编程方式更改它,你可以从幻灯片母版1中做到这一点。但这里唯一的问题是当我们在这里改变发布的样式时(如上所述),它正在改变所有幻灯片以及未来您将在ppt中创建具有相同主题的幻灯片。

希望这有帮助。

问候。