Добавление SlideMasters и SlideLayouts в презентацию

Я пытаюсь создать презентацию с шестью слайдами, тремя мастер-слайдами (MS-A, MS-B и MS-C) и двумя макетами слайдов (SL-1 и SL-2). Думайте о шести слайдах как о двух рядах и трех столбцах слайдов.

Я хочу создать первую "строку" слайдов, используя SlideMaster, который ссылается на макет слайда 1. Например, слайд 1 (S1A) будет создан с использованием Master MS-A, который ссылается на SL-1. Слайд 2 (S1B) с MS-B, который ссылается на SL-1, и Слайд (S1C) с MS-C, который ссылается на SL-1.

Пока что это не должно быть реальной проблемой. Однако я хочу знать, возможно ли построить второй "ряд" слайдов (S2A, S2B и S2C) с мастер-слайдами MS-A - MS-C, где они ссылаются на макет слайдов SC-2, и не влияя на содержание первого ряда слайдов

Если это возможно, можете ли вы предоставить мне ссылки / примеры / псевдокод того, как мне поступить?

Я использую OpenXML 2.5, C#, Framework 4.5.

1 ответ

Решение
  • Презентация может иметь одного или нескольких мастеров слайдов (мастер).
  • Каждый мастер может иметь один или несколько макетов слайдов (макет).
  • Каждый макет связан с одним-единственным мастером.
  • Каждый слайд связан с одним-единственным макетом. Нет прямой связи слайда с мастером, только косвенная связь через его макет.

Не уверен, что это ответит на ваш вопрос, я не могу полностью понять, как вы это сформулировали. Слайды отличаются как от мастеров, так и от макетов. Я не уверен, что вы говорите, что хотите, чтобы шесть слайдов были шестью макетами или обоими.

Также я не могу помочь вам с реализацией с использованием 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)
Другие вопросы по тегам