Slide
Este artigo fornece uma série de exemplos que demonstram como trabalhar com slides usando Aspose.Slides for C++. Você aprenderá como adicionar, acessar, clonar, reordenar e remover slides usando a classe Presentation.
Cada exemplo abaixo inclui uma breve explicação seguida por um trecho de código em C++.
Adicionar um Slide
Para adicionar um novo slide, você deve primeiro selecionar um layout. Neste exemplo, usamos o layout Blank e adicionamos um slide vazio à apresentação.
static void AddSlide()
{
auto presentation = MakeObject<Presentation>();
auto blankLayout = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);
presentation->get_Slides()->AddEmptySlide(blankLayout);
presentation->Dispose();
}
💡 Observação: Cada layout de slide é derivado de um slide mestre, que define o design geral e a estrutura de placeholders. A imagem abaixo ilustra como os slides mestres e seus layouts associados são organizados no PowerPoint.

Acessar Slides por Índice
Você pode acessar slides usando seu índice, ou encontrar o índice de um slide com base em uma referência. Isso é útil para iterar ou modificar slides específicos.
static void AccessSlide()
{
auto presentation = MakeObject<Presentation>();
// Adicionar outro slide vazio.
auto blankLayout = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);
presentation->get_Slides()->AddEmptySlide(blankLayout);
// Acessar slides por índice.
auto firstSlide = presentation->get_Slide(0);
auto secondSlide = presentation->get_Slide(1);
// Obter o índice do slide a partir de uma referência, então acessá-lo por índice.
auto secondSlideIndex = presentation->get_Slides()->IndexOf(secondSlide);
auto secondSlideByIndex = presentation->get_Slide(secondSlideIndex);
presentation->Dispose();
}
Clonar um Slide
Este exemplo demonstra como clonar um slide existente. O slide clonado é adicionado automaticamente ao final da coleção de slides.
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();
}
Reordenar Slides
Você pode alterar a ordem dos slides movendo um para um novo índice. Neste caso, movemos um slide clonado para a primeira posição.
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();
}
Remover um Slide
Para remover um slide, basta referenciá‑lo e chamar Remove. Este exemplo adiciona um segundo slide e depois remove o original, deixando apenas o novo.
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();
}