OpenXML - клонирование PresentationML - портит Powerpoint
Мне нужно клонировать все слайды в презентации в базовую презентацию и изменить макет клонированных слайдов в макет базовой презентации.
Подход, который я выбрал, был:
(Базовое представление обозначено как B, подлежащее клонированию представление обозначено как C)
Скопируйте части слайдов каждого слайда C в B.
Скопируйте мастеров B в C
Удалите существующие части макета вновь добавленных слайдов в B(клонированные слайды из C).
Добавьте требуемую часть макета из B во вновь добавленные части слайда.
Пройдите через LayoutId и измените их порядок, чтобы они содержали уникальные значения.
Представление результата является искаженным выводом.
Базовая презентация:
Презентация клона:
Сообщение об ошибке:
Результирующий вывод:
Первый слайд поврежден
Я также попробовал конструктор презентаций, упомянутый на openxmldeveloper
Вариант 2 данного фрагмента похож на то, что я пытаюсь достичь. Но полученный результат был таким же.
Проект конструктора презентаций, с файлами, которые я пытаюсь клонировать, можно скачать здесь
Здесь мы пытаемся клонировать оба документа презентации в новый документ презентации (созданный с нуля), но используем мастер и макеты первой клонированной презентации (базовая презентация) для всех слайдов.
Файлы: Companies.pptx (basepresentation), Customer Content.pptx (презентация клона), Out2.pptx (итоговая презентация)
1 ответ
Для тех, кто использует или использует тот же путь, что и я, Эрик Уайт исправил проблему и загрузил следующую версию построителя презентаций.
Ответ и исправленный код можно найти на openxmldeveloper
ура