【问题标题】:Adding SlideMasters and SlideLayouts to a Presentation将 SlideMasters 和 SlideLayouts 添加到演示文稿
【发布时间】:2015-04-02 16:17:20
【问题描述】:

我正在尝试创建一个包含六张幻灯片、三张母版幻灯片(MS-A、MS-B 和 MS-C)和两张幻灯片版式(SL-1 和 SL-2)的演示文稿。将六张幻灯片想象成两行三列的幻灯片。

我想使用引用幻灯片版式 1 的 SlideMaster 创建第一“行”幻灯片。例如,幻灯片 1 (S1A) 将使用引用 SL-1 的 Master MS-A 创建。带有引用 SL-1 的 MS-B 的幻灯片 2 (S1B),以及带有引用 SL-1 的 MS-C 的幻灯片 (S1C)。

到目前为止,这应该不是真正的问题。但是,我想知道是否可以使用 Master Slides MS-A 到 MS-C 构建幻灯片的第二“行”(S2A、S2B 和 S2C),它们引用幻灯片布局 SC-2,并且不影响Slides第一行的内容

如果可能,您能否提供链接/示例/伪代码来说明我将如何执行此操作?

我正在使用 OpenXML 2.5、C#、Framework 4.5。

【问题讨论】:

    标签: c# openxml openxml-sdk presentationml


    【解决方案1】:
    • 演示文稿可能有一个或多个幻灯片母版(母版)。
    • 每个母版可能有一个或多个幻灯片布局(布局)。
    • 每个布局都与 one-and-only-one master 相关。
    • 每张幻灯片都与 one-and-only-one- 布局相关。幻灯片与母版没有直接关系,只有通过布局的间接关系。

    不确定这是否能回答您的问题,我无法按照您的表述方式完全理解它。幻灯片不同于母版和布局。我不确定您是说要六张幻灯片是六种布局,还是两者兼而有之。

    我也不能帮助你使用 C# 来实现,但它可能是一个好主意,以便弄清楚你想要完成的事情以及它是否可能首先:)

    如果您想要六张幻灯片,每张都基于六种不同的布局之一,每张都基于三个母版之一的成对布局,那么在伪代码中会变成这样:

    m_1 = Presentation.add_master(M_1)
    m_2 = Presentation.add_master(M_2)
    m_3 = Presentation.add_master(M_3)
    
    l_1a = m_1.add_layout(L_1A)
    l_1b = m_1.add_layout(L_1B)
    l_2a = m_2.add_layout(L_2A)
    l_2b = m_2.add_layout(L_2B)
    l_3a = m_3.add_layout(L_3A)
    l_3b = m_3.add_layout(L_3B)
    
    slide_1 = Presentation.Slides.add_slide(based_on=l_1a)
    slide_2 = Presentation.Slides.add_slide(based_on=l_1b)
    slide_3 = Presentation.Slides.add_slide(based_on=l_2a)
    slide_4 = Presentation.Slides.add_slide(based_on=l_2b)
    slide_5 = Presentation.Slides.add_slide(based_on=l_3a)
    slide_6 = Presentation.Slides.add_slide(based_on=l_3b)
    

    【讨论】:

    • 感谢您的回复,斯堪尼。阅读和理解您发布的项目符号确实有助于并回答有关是否可以“重用”SlideLayouts 的问题。答案是不'。为了解决您关于我的意图的第一段,我想知道 SlideLayouts 是否可以重复使用。换句话说,多个 SlideMaster 是否可以使用相同的 SlideLayout。而且,如上所述,答案是否定的。 (在发布问题之后,我重新阅读了一些文档,也得出了否定答案。)
    • 我相信你提供的伪代码模拟了我想要做的事情。再次感谢您的回复。我将其标记为正确。仅供参考,为了帮助其他人解决这个问题,我发布了一个我认为有帮助的链接。 Office Open XML 概述:ecma-international.org/news/TC45_current_work/…
    猜你喜欢
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 2018-11-29
    相关资源
    最近更新 更多