Клонирование слайдов презентации в C++

Клонирование слайдов в презентации

Клонирование — это процесс создания точной копии или реплики чего‑либо. Aspose.Slides for C++ также позволяет сделать копию или клон любого слайда, а затем вставить этот клонированный слайд в текущую или любую другую открытую презентацию. Процесс клонирования слайда создаёт новый слайд, который может быть изменён разработчиками без изменения исходного слайда. Существует несколько способов клонирования слайда:

  • Клонирование в конце в пределах презентации.
  • Клонирование в другой позиции в пределах презентации.
  • Клонирование в конце в другой презентации.
  • Клонирование в другой позиции в другой презентации.
  • Клонирование в конкретной позиции в другой презентации.

В Aspose.Slides for C++ (коллекцияISlideобъектов), которую предоставляет объектPresentation, доступны методыAddCloneиInsertCloneдля выполнения перечисленных типов клонирования слайдов.

Клонирование слайда в конце презентации

Если нужно клонировать слайд и затем использовать его в том же файле презентации в конце существующих слайдов, используйте методAddCloneсогласно приведённым ниже шагам:

  1. Создайте экземпляр классаPresentation.
  2. Получите объектISlideCollectionпо ссылке на коллекцию Slides, предоставляемую объектомPresentation.
  3. Вызовите методAddCloneу объектаISlideCollectionи передайте слайд, который нужно клонировать, в качестве параметра методуAddClone.
  4. Сохраните изменённый файл презентации.

В примере ниже мы клонировали слайд (расположенный на первой позиции — индекс 0 — в презентации) в конец презентации.

Клонирование слайда в другую позицию в пределах презентации

Если нужно клонировать слайд и затем использовать его в том же файле презентации, но в другой позиции, используйте методInsertClone:

  1. Создайте экземпляр классаPresentation.
  2. Получите объект, ссылаясь на коллекциюSlidesу объектаPresentation.
  3. Вызовите методInsertCloneу объектаISlideCollectionи передайте слайд, который нужно клонировать, вместе с индексом новой позиции в качестве параметра методуInsertClone.
  4. Сохраните изменённую презентацию в файле PPTX.

В примере ниже мы клонировали слайд (расположенный на индексе 0 — позиция 1 — в презентации) в индекс 1 — позиция 2 — презентации.

Клонирование слайда в конец другой презентации

Если необходимо клонировать слайд из одной презентации и использовать его в другой презентации, в конце существующих слайдов:

  1. Создайте экземпляр классаPresentation, содержащий исходную презентацию.
  2. Создайте экземпляр классаPresentation, содержащий целевую презентацию, в которую будет добавлен слайд.
  3. Получите объектISlideCollectionпо ссылке на коллекциюSlidesу объекта Presentation целевой презентации.
  4. Вызовите методAddCloneу объектаISlideCollectionи передайте слайд из исходной презентации в качестве параметра методуAddClone.
  5. Сохраните изменённый файл целевой презентации.

В примере ниже мы клонировали слайд (из первого индекса исходной презентации) в конец целевой презентации.

Клонирование слайда в другую позицию в другой презентации

Если необходимо клонировать слайд из одной презентации и использовать его в другой презентации, в конкретной позиции:

  1. Создайте экземпляр классаPresentation, содержащий исходную презентацию.
  2. Создайте экземпляр классаPresentation, содержащий целевую презентацию.
  3. Получите объектISlideCollectionпо ссылке на коллекцию Slides у объекта Presentation целевой презентации.
  4. Вызовите методInsertCloneу объектаISlideCollectionи передайте слайд из исходной презентации вместе с желаемой позицией в качестве параметра методуInsertClone.
  5. Сохраните изменённый файл целевой презентации.

В примере ниже мы клонировали слайд (из нулевого индекса исходной презентации) в индекс 1 (позиция 2) целевой презентации.

Клонирование слайда в конкретной позиции в другой презентации

Если необходимо клонировать слайд с мастер‑слайдом из одной презентации и использовать его в другой презентации, сначала нужно клонировать нужный мастер‑слайд из исходной презентации в целевую. Затем используйте этот мастер‑слайд для клонирования слайда с мастер‑слайдом. Метод**AddClone(ISlide, IMasterSlide)**ожидает мастер‑слайд из целевой презентации, а не из исходной. Чтобы клонировать слайд с мастером, выполните следующие шаги:

  1. Создайте экземпляр классаPresentation, содержащий исходную презентацию.
  2. Создайте экземпляр классаPresentation, содержащий целевую презентацию.
  3. Получите доступ к клонируемому слайду вместе с его мастер‑слайдом.
  4. Получите объектIMasterSlideCollectionпо ссылке на коллекцию Masters у объектаPresentation целевой презентации.
  5. Вызовите методAddCloneу объектаIMasterSlideCollection и передайте мастер‑слайд из исходного PPTX в качестве параметра методуAddClone.
  6. Получите объектISlideCollectionпо ссылке на коллекцию Slides у объектаPresentation целевой презентации.
  7. Вызовите методAddCloneу объектаISlideCollection и передайте слайд из исходной презентации и мастер‑слайд в качестве параметров методуAddClone.
  8. Сохраните изменённый файл целевой презентации.

В примере ниже мы клонировали слайд с мастером (расположенный в нулевом индексе исходной презентации) в конец целевой презентации, используя мастер‑слайд из исходного слайда.

Клонирование слайда в конец указанного раздела

Если нужно клонировать слайд и затем использовать его в той же презентации, но в другом разделе, используйте методAddClone()у интерфейсаISlideCollection. Aspose.Slides for C++ позволяет клонировать слайд из первого раздела и затем вставить его в второй раздел той же презентации.

Следующий фрагмент кода показывает, как клонировать слайд и вставить его в указанный раздел.

FAQ

Клонируются ли заметки выступающего и комментарии рецензентов?

Да. Страницы заметок и комментарии включаются в клон. Если они не нужны, удалите их после вставки.

Как обрабатываются диаграммы и их источники данных?

Объект диаграммы, форматирование и встроенные данные копируются. Если диаграмма была связана с внешним источником (например, встраиваемой книгой OLE), эта связь сохраняется как OLE‑объект. После перемещения между файлами проверьте доступность данных и поведение обновления.

Можно ли управлять позицией вставки и разделами клона?

Да. Вы можете вставить клон в конкретный индекс слайда и разместить его в выбранном разделе. Если целевой раздел не существует, сначала создайте его, а затем переместите слайд туда.