Diapositiva

Este artículo proporciona una serie de ejemplos que demuestran cómo trabajar con diapositivas usando Aspose.Slides for C++. Aprenderá a añadir, acceder, clonar, reordenar y eliminar diapositivas usando la clase Presentation.

Cada ejemplo a continuación incluye una breve explicación seguida de un fragmento de código en C++.

Añadir una diapositiva

Para añadir una nueva diapositiva, primero debe seleccionar un diseño. En este ejemplo, utilizamos el diseño Blank y añadimos una diapositiva vacía a la presentación.

static void AddSlide()
{
    auto presentation = MakeObject<Presentation>();
    auto blankLayout = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);

    presentation->get_Slides()->AddEmptySlide(blankLayout);

    presentation->Dispose();
}

💡 Nota: Cada diseño de diapositiva se deriva de una diapositiva maestra, que define el diseño general y la estructura de los marcadores de posición. La imagen a continuación ilustra cómo se organizan las diapositivas maestras y sus diseños asociados en PowerPoint.

Relación entre diapositiva maestra y diseño

Acceder a diapositivas por índice

Puede acceder a las diapositivas usando su índice, o encontrar el índice de una diapositiva basándose en una referencia. Esto es útil para iterar o modificar diapositivas específicas.

static void AccessSlide()
{
    auto presentation = MakeObject<Presentation>();

    // Añadir otra diapositiva vacía.
    auto blankLayout = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);
    presentation->get_Slides()->AddEmptySlide(blankLayout);

    // Acceder a diapositivas por índice.
    auto firstSlide = presentation->get_Slide(0);
    auto secondSlide = presentation->get_Slide(1);

    // Obtener el índice de la diapositiva a partir de una referencia, y luego acceder a ella por índice.
    auto secondSlideIndex = presentation->get_Slides()->IndexOf(secondSlide);
    auto secondSlideByIndex = presentation->get_Slide(secondSlideIndex);

    presentation->Dispose();
}

Clonar una diapositiva

Este ejemplo demuestra cómo clonar una diapositiva existente. La diapositiva clonada se añade automáticamente al final de la colección de diapositivas.

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 diapositivas

Puede cambiar el orden de las diapositivas moviendo una a un nuevo índice. En este caso, movemos una diapositiva clonada a la primera posición.

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

Eliminar una diapositiva

Para eliminar una diapositiva, simplemente haga referencia a ella y llame a Remove. Este ejemplo añade una segunda diapositiva y luego elimina la original, dejando solo la nueva.

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