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

  • 本地运行 Prop (a:rPr)
  • 本地段落 Prop (a:pPr/a:defRPr)
  • 形状段落 Prop (a:lstStyle/a:lvlXpPr/a:defRPr)
  • 布局中的段落 Prop ?
  • 主幻灯片段落 Prop (p:txStyles/(p:titleStyle|p:bodyStyle|p:otherStyle)/a:lvlXpPr/a:defRPr)
  • 幻灯片主题(a:objectDefaults/(a:spDef|a:lnDef|a:txDef)/a:lstStyle/a:lvlXpPr/a:defRPr)
  • 演示文稿默认设置(p:defaultTextStyle/a:lvlXpPr/a:defRPr)

  • 但是,当我将其与其他应用程序的结果进行比较时,它并不匹配。由于技术原因,我无法使用已经为我完成此操作的库,我自己正在阅读xml。 apache POI源代码在相关区域中有一些TODO:标记,而我在理解LibreOffice代码时遇到了麻烦。

    编辑:为了进一步说明,我想找到绝对运行属性,而不是相对运行属性。 On可能会这样想:您有一台投影机的透明胶片。我想查看从所有页面创建的图像,而不仅仅是本地页面。

    最佳答案

    我想通过在这种情况下编写继承,您的意思是一种样式基于另一种样式。看来您可以使用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/

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

    关于c# - PPTX样式继承,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37060820/

    10-17 02:55