【发布时间】:2014-09-23 06:05:58
【问题描述】:
我需要从 .net(VB.NET 或 C#)中的 PowerPoint OpenXml 格式 (pptx) 中提取所有文本 众所周知,pptx 是一个压缩文件,里面有一些文件夹。 我正在使用 OpenXmlPowerTools。 我设法从幻灯片文件夹 (slidespart) 中提取了文本,但我注意到我的 powerpoint 文档示例中有更多文本没有被提取。此文本包含在 smartart 中,不包含在 slidespart xml 文件中。我知道文本在 pptx 的文件夹“/diagrams”中,在文件“data1.xml”中,但我不知道如何调用这部分。 一个例子: 要调用幻灯片中文本所在的文件,我参考 OpenXmldocument.PresentationPart.SlideParts,然后我自己解析 XML。 但我不知道文件夹“图表”所在部分的名称。 你可以帮帮我吗? 提前谢谢你。
智能艺术的 XML 示例
-<dgm:pt type="doc" modelId="{8B66E7B5-44C3-4667-8338-7D4A025BD5D4}">
<dgm:prSet phldr="1" csCatId="accent2" csTypeId="urn:microsoft.com/office/officeart/2005/8/colors/accent2_3" qsCatId="simple" qsTypeId="urn:microsoft.com/office/officeart/2005/8/quickstyle/simple5" loCatId="process" loTypeId="urn:microsoft.com/office/officeart/2005/8/layout/hProcess11"/>
<dgm:spPr/>
-<dgm:t>
<a:bodyPr/>
<a:lstStyle/>
-<a:p>
<a:endParaRPr lang="pt-PT"/>
</a:p>
</dgm:t>
</dgm:pt>
-<dgm:pt modelId="{2E9EC466-8028-4506-882E-42A5A1CC8163}">
<dgm:prSet custT="1" phldrT="[Texto]"/>
<dgm:spPr/>
-<dgm:t>
<a:bodyPr anchor="t"/>
<a:lstStyle/>
-<a:p>
-<a:r>
-<a:rPr lang="pt-PT" smtClean="0" dirty="0" sz="1200">
<a:latin typeface="+mn-lt"/>
<a:cs typeface="Arial" charset="0" pitchFamily="34"/>
</a:rPr>
<a:t>Apresentação Conceptual - Plano</a:t>
</a:r>
-<a:endParaRPr lang="pt-PT" dirty="0" sz="1200">
<a:latin typeface="+mn-lt"/>
<a:cs typeface="Arial" charset="0" pitchFamily="34"/>
</a:endParaRPr>
</a:p>
</dgm:t>
</dgm:pt>
【问题讨论】:
标签: c# .net openxml diagram presentation