OpenXML - PresentationML - newMasterPart.SlideMaster.Preserve = false, не работает
Я пытаюсь использовать атрибут "Сохранение" в Slide Master, чтобы очистить не связанные с Slide Masters.
Моя цель - клонировать все слайды в презентации (имеет только один слайд) в базовую презентацию (имеет только один слайд) и изменить макет клонированных слайдов на макет базовой презентации.
Подход, который я выбрал, был:
(Базовое представление обозначено как B, подлежащее клонированию представление обозначено как C)
Скопируйте слайд слайда C в B.
Скопируйте мастер C в B.
Установите атрибут SlideMaster.Preserve в false во вновь скопированном мастере.
Удалите существующие части макета вновь добавленных слайдов в B(клонированные слайды из C).
Добавьте требуемую часть макета из B во вновь добавленные части слайда.
Пройдите через LayoutId и измените их порядок, чтобы они содержали уникальные значения.
Но когда я открываю результирующий файл, хотя нет никаких ссылок на MasterSlide, скопированный из C. Он все еще существует.
Примечание. Несмотря на то, что я изменяю слайд макета в том же фрагменте кода, на практике он будет выполняться с другим путем выполнения, поэтому не копировать MasterSlides of C не вариант.
Базовая презентация (B)
Мастер слайд базы
Презентация клона (C)
Презентация Master Slide of Clone
Результирующий вывод
Мастер слайды вывода
Хотя нет ссылок на второй мастер-слайд, он по-прежнему преобладает даже после установки атрибута preserve в false.
Пример кода можно скачать с Post2.zip
Файлы в Post2:
BaseSlide.pptx (basepresentation)
ToBeCloned.pptx (презентация клона)
Out2.pptx (итоговая презентация)
Любая помощь с благодарностью. Благодарю.