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.

Relação entre Mestre e Layout

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();
}