Клонирование слайдов презентации в C++
Клонирование слайдов в презентации
Клонирование — это процесс создания точной копии или реплики чего‑либо. Aspose.Slides for C++ также позволяет сделать копию или клон любого слайда, а затем вставить этот клонированный слайд в текущую или любую другую открытую презентацию. Процесс клонирования слайда создаёт новый слайд, который может быть изменён разработчиками без изменения исходного слайда. Существует несколько способов клонирования слайда:
- Клонирование в конце в пределах презентации.
- Клонирование в другой позиции в пределах презентации.
- Клонирование в конце в другой презентации.
- Клонирование в другой позиции в другой презентации.
- Клонирование в конкретной позиции в другой презентации.
В Aspose.Slides for C++ (коллекцияISlideобъектов), которую предоставляет объектPresentation, доступны методыAddCloneиInsertCloneдля выполнения перечисленных типов клонирования слайдов.
Клонирование слайда в конце презентации
Если нужно клонировать слайд и затем использовать его в том же файле презентации в конце существующих слайдов, используйте методAddCloneсогласно приведённым ниже шагам:
- Создайте экземпляр классаPresentation.
- Получите объектISlideCollectionпо ссылке на коллекцию Slides, предоставляемую объектомPresentation.
- Вызовите методAddCloneу объектаISlideCollectionи передайте слайд, который нужно клонировать, в качестве параметра методуAddClone.
- Сохраните изменённый файл презентации.
В примере ниже мы клонировали слайд (расположенный на первой позиции — индекс 0 — в презентации) в конец презентации.
Клонирование слайда в другую позицию в пределах презентации
Если нужно клонировать слайд и затем использовать его в том же файле презентации, но в другой позиции, используйте методInsertClone:
- Создайте экземпляр классаPresentation.
- Получите объект, ссылаясь на коллекциюSlidesу объектаPresentation.
- Вызовите методInsertCloneу объектаISlideCollectionи передайте слайд, который нужно клонировать, вместе с индексом новой позиции в качестве параметра методуInsertClone.
- Сохраните изменённую презентацию в файле PPTX.
В примере ниже мы клонировали слайд (расположенный на индексе 0 — позиция 1 — в презентации) в индекс 1 — позиция 2 — презентации.
Клонирование слайда в конец другой презентации
Если необходимо клонировать слайд из одной презентации и использовать его в другой презентации, в конце существующих слайдов:
- Создайте экземпляр классаPresentation, содержащий исходную презентацию.
- Создайте экземпляр классаPresentation, содержащий целевую презентацию, в которую будет добавлен слайд.
- Получите объектISlideCollectionпо ссылке на коллекциюSlidesу объекта Presentation целевой презентации.
- Вызовите методAddCloneу объектаISlideCollectionи передайте слайд из исходной презентации в качестве параметра методуAddClone.
- Сохраните изменённый файл целевой презентации.
В примере ниже мы клонировали слайд (из первого индекса исходной презентации) в конец целевой презентации.
Клонирование слайда в другую позицию в другой презентации
Если необходимо клонировать слайд из одной презентации и использовать его в другой презентации, в конкретной позиции:
- Создайте экземпляр классаPresentation, содержащий исходную презентацию.
- Создайте экземпляр классаPresentation, содержащий целевую презентацию.
- Получите объектISlideCollectionпо ссылке на коллекцию Slides у объекта Presentation целевой презентации.
- Вызовите методInsertCloneу объектаISlideCollectionи передайте слайд из исходной презентации вместе с желаемой позицией в качестве параметра методуInsertClone.
- Сохраните изменённый файл целевой презентации.
В примере ниже мы клонировали слайд (из нулевого индекса исходной презентации) в индекс 1 (позиция 2) целевой презентации.
Клонирование слайда в конкретной позиции в другой презентации
Если необходимо клонировать слайд с мастер‑слайдом из одной презентации и использовать его в другой презентации, сначала нужно клонировать нужный мастер‑слайд из исходной презентации в целевую. Затем используйте этот мастер‑слайд для клонирования слайда с мастер‑слайдом. Метод**AddClone(ISlide, IMasterSlide)**ожидает мастер‑слайд из целевой презентации, а не из исходной. Чтобы клонировать слайд с мастером, выполните следующие шаги:
- Создайте экземпляр классаPresentation, содержащий исходную презентацию.
- Создайте экземпляр классаPresentation, содержащий целевую презентацию.
- Получите доступ к клонируемому слайду вместе с его мастер‑слайдом.
- Получите объектIMasterSlideCollectionпо ссылке на коллекцию Masters у объектаPresentation целевой презентации.
- Вызовите методAddCloneу объектаIMasterSlideCollection и передайте мастер‑слайд из исходного PPTX в качестве параметра методуAddClone.
- Получите объектISlideCollectionпо ссылке на коллекцию Slides у объектаPresentation целевой презентации.
- Вызовите методAddCloneу объектаISlideCollection и передайте слайд из исходной презентации и мастер‑слайд в качестве параметров методуAddClone.
- Сохраните изменённый файл целевой презентации.
В примере ниже мы клонировали слайд с мастером (расположенный в нулевом индексе исходной презентации) в конец целевой презентации, используя мастер‑слайд из исходного слайда.
Клонирование слайда в конец указанного раздела
Если нужно клонировать слайд и затем использовать его в той же презентации, но в другом разделе, используйте методAddClone()у интерфейсаISlideCollection. Aspose.Slides for C++ позволяет клонировать слайд из первого раздела и затем вставить его в второй раздел той же презентации.
Следующий фрагмент кода показывает, как клонировать слайд и вставить его в указанный раздел.
FAQ
Клонируются ли заметки выступающего и комментарии рецензентов?
Да. Страницы заметок и комментарии включаются в клон. Если они не нужны, удалите их после вставки.
Как обрабатываются диаграммы и их источники данных?
Объект диаграммы, форматирование и встроенные данные копируются. Если диаграмма была связана с внешним источником (например, встраиваемой книгой OLE), эта связь сохраняется как OLE‑объект. После перемещения между файлами проверьте доступность данных и поведение обновления.
Можно ли управлять позицией вставки и разделами клона?
Да. Вы можете вставить клон в конкретный индекс слайда и разместить его в выбранном разделе. Если целевой раздел не существует, сначала создайте его, а затем переместите слайд туда.