Слайд
Эта статья содержит набор примеров, демонстрирующих работу со слайдами с помощью Aspose.Slides for C++. Вы узнаете, как добавлять, получать доступ, клонировать, перемещать и удалять слайды с использованием класса Presentation.
Каждый пример ниже включает краткое пояснение и фрагмент кода на C++.
Add a Slide
Чтобы добавить новый слайд, сначала необходимо выбрать макет. В этом примере мы используем макет Blank и добавляем пустой слайд в презентацию.
static void AddSlide()
{
auto presentation = MakeObject<Presentation>();
auto blankLayout = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);
presentation->get_Slides()->AddEmptySlide(blankLayout);
presentation->Dispose();
}
💡 Note: Каждый макет слайда наследуется от мастер‑слайда, который определяет общий дизайн и структуру заполнителей. Ниже изображение, показывающее, как организованы мастер‑слайды и их связанные макеты в PowerPoint.

Access Slides by Index
Вы можете получать доступ к слайдам по их индексу или находить индекс слайда по ссылке. Это удобно для перебора или изменения конкретных слайдов.
static void AccessSlide()
{
auto presentation = MakeObject<Presentation>();
// Добавьте еще один пустой слайд.
auto blankLayout = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);
presentation->get_Slides()->AddEmptySlide(blankLayout);
// Доступ к слайдам по индексу.
auto firstSlide = presentation->get_Slide(0);
auto secondSlide = presentation->get_Slide(1);
// Получить индекс слайда из ссылки, затем получить доступ к нему по индексу.
auto secondSlideIndex = presentation->get_Slides()->IndexOf(secondSlide);
auto secondSlideByIndex = presentation->get_Slide(secondSlideIndex);
presentation->Dispose();
}
Clone a Slide
Этот пример демонстрирует, как клонировать существующий слайд. Клонированный слайд автоматически добавляется в конец коллекции слайдов.
static void CloneSlide()
{
auto presentation = MakeObject<Presentation>();
auto firstSlide = presentation->get_Slide(0);
auto clonedSlide = presentation->get_Slides()->AddClone(firstSlide);
auto clonedSlideIndex = presentation->get_Slides()->IndexOf(clonedSlide);
presentation->Dispose();
}
Reorder Slides
Вы можете изменить порядок слайдов, переместив один из них на новый индекс. В данном случае мы перемещаем клонированный слайд в первую позицию.
static void ReorderSlide()
{
auto presentation = MakeObject<Presentation>();
auto firstSlide = presentation->get_Slide(0);
auto clonedSlide = presentation->get_Slides()->AddClone(firstSlide);
presentation->get_Slides()->Reorder(0, clonedSlide);
presentation->Dispose();
}
Remove a Slide
Чтобы удалить слайд, просто укажите его и вызовите Remove. В этом примере добавляется второй слайд, а затем удаляется оригинальный, остаётся только новый.
static void RemoveSlide()
{
auto presentation = MakeObject<Presentation>();
auto blankLayout = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);
auto secondSlide = presentation->get_Slides()->AddEmptySlide(blankLayout);
auto firstSlide = presentation->get_Slide(0);
presentation->get_Slides()->Remove(firstSlide);
presentation->Dispose();
}