PPTX样式继承

时间:2016-05-05 21:45:36

标签: c# xml text powerpoint

有谁知道pptx文件中如何继承字符样式?我知道它至少是这样的:

  1. 本地跑道具(a:rPr
  2. 本地段落道具(a:pPr/a:defRPr
  3. 形状段落道具(a:lstStyle/a:lvlXpPr/a:defRPr
  4. 布局中的段落道具?
  5. 主幻灯片段落道具(p:txStyles/(p:titleStyle|p:bodyStyle|p:otherStyle)/a:lvlXpPr/a:defRPr
  6. 幻灯片主题(a:objectDefaults/(a:spDef|a:lnDef|a:txDef)/a:lstStyle/a:lvlXpPr/a:defRPr
  7. 演示文稿默认值(p:defaultTextStyle/a:lvlXpPr/a:defRPr
  8. 但是,当我将其与其他应用程序的结果进行比较时,它并不匹配。由于技术原因,我不能使用已经为我做这个的库,我自己正在阅读xml。 apache POI源在相关区域中有一些TODO:标记,我无法理解LibreOffice代码。

    编辑:为了进一步解释,我想找到绝对运行属性,而不是相对运行属性。 On可以这样想:你有一个投影仪的透明胶片。我希望看到从所有页面创建的图像,而不仅仅是本地页面。

1 个答案:

答案 0 :(得分:0)

我认为通过在此上下文中编写继承,您的意思是一种风格基于另一种风格。您似乎可以使用BasedOn属性以编程方式验证此内容。

我发现了一篇关于此的文章,示例代码会自动检测所选文档中的样式层次结构。你可以在这里找到它: https://blogs.msdn.microsoft.com/ericwhite/2010/03/29/testing-for-base-styles-in-open-xml-wordprocessingml-documents/。 它为Word(DOCX)文件编写的代码,但我认为它应该与PowerPoint(PPTX)非常相似。 如果您在使用PPTX文件的代码时遇到任何问题,请告诉我,我会尽力提供帮助。

根据此信息https://msdn.microsoft.com/en-us/library/office/gg188064.aspx#sectionSection5,"字符样式"只能由run元素类型引用,并且段落不能引用。

您还可以在此处找到有关样式继承的文章: https://blogs.msdn.microsoft.com/ericwhite/2009/10/28/open-xml-wordprocessingml-style-inheritance-post-4/

虽然它没有直接为您的问题提供答案,但它包含一些与样式继承相关的其他信息,因此可能对您有用。