将 SlideMaster 和 SlideLayout 添加到演示文稿

Adding SlideMasters and SlideLayouts to a Presentation

我正在尝试创建包含六张幻灯片、三张母版幻灯片(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 构建第二个 'row' 幻灯片(S2A、S2B 和 S2C),它们参考幻灯片布局 SC-2,而没有影响幻灯片第一行的内容

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

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

  • 一个演示文稿可能有一个或多个幻灯片母版(master)。
  • 每个母版可能有一个或多个幻灯片布局(layout)。
  • 每个布局都与唯一的 master相关。
  • 每张幻灯片都与唯一的布局相关。幻灯片与母版没有直接关系,只有通过其布局的间接关系。

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

此外,我无法帮助您使用 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)