Diapositiva de diseño

Este artículo muestra cómo trabajar con Diapositivas de diseño en Aspose.Slides para C++. Una diapositiva de diseño define el diseño y el formato heredados por las diapositivas normales. Puedes añadir, acceder, clonar y eliminar diapositivas de diseño, así como limpiar las que no se usan para reducir el tamaño de la presentación.

Agregar una diapositiva de diseño

Puedes crear una diapositiva de diseño personalizada para definir un formato reutilizable. Por ejemplo, podrías añadir un cuadro de texto que aparezca en todas las diapositivas que usan este diseño.

static void AddLayoutSlide()
{
    auto presentation = MakeObject<Presentation>();
    auto masterSlide = presentation->get_Master(0);

    // Crear una diapositiva de diseño con un tipo de diseño en blanco y un nombre personalizado.
    auto layoutSlide = presentation->get_LayoutSlides()->Add(masterSlide, SlideLayoutType::Blank, u"Main layout");

    // Añadir un cuadro de texto a la diapositiva de diseño.
    auto layoutTextBox = layoutSlide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 75, 75, 150, 150);
    layoutTextBox->get_TextFrame()->set_Text(u"Layout Slide Text");

    // Añadir dos diapositivas usando este diseño; ambas heredarán el texto del diseño.
    presentation->get_Slides()->AddEmptySlide(layoutSlide);
    presentation->get_Slides()->AddEmptySlide(layoutSlide);

    presentation->Dispose();
}

💡 Nota 1: Las diapositivas de diseño actúan como plantillas para diapositivas individuales. Puedes definir elementos comunes una sola vez y reutilizarlos en muchas diapositivas.

💡 Nota 2: Cuando añades formas o texto a una diapositiva de diseño, todas las diapositivas basadas en ese diseño mostrarán ese contenido compartido automáticamente.
La captura de pantalla a continuación muestra dos diapositivas, cada una heredando un cuadro de texto de la misma diapositiva de diseño.

Diapositivas heredando contenido de diseño

Acceder a una diapositiva de diseño

Las diapositivas de diseño pueden accederse por índice o por tipo de diseño (p. ej., Blank, Title, SectionHeader, etc.).

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

    // Acceder a una diapositiva de diseño por índice.
    auto firstLayoutSlide = presentation->get_LayoutSlide(0);

    // Acceder a una diapositiva de diseño por tipo.
    auto blankLayoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);

    presentation->Dispose();
}

Eliminar una diapositiva de diseño

Puedes eliminar una diapositiva de diseño específica si ya no es necesaria.

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

    // Obtener una diapositiva de diseño por tipo y eliminarla.
    auto blankLayoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Custom);
    presentation->get_LayoutSlides()->Remove(blankLayoutSlide);

    presentation->Dispose();
}

Eliminar diapositivas de diseño no utilizadas

Para reducir el tamaño de la presentación, puede que desees eliminar las diapositivas de diseño que no son utilizadas por ninguna diapositiva normal.

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

    // Elimina automáticamente todas las diapositivas de diseño que no están referenciadas por ninguna diapositiva.
    presentation->get_LayoutSlides()->RemoveUnused();

    presentation->Dispose();
}

Clonar una diapositiva de diseño

Puedes duplicar una diapositiva de diseño usando el método AddClone.

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

    // Obtener una diapositiva de diseño existente por tipo.
    auto blankLayoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank);

    // Clonar la diapositiva de diseño al final de la colección de diapositivas de diseño.
    auto clonedLayoutSlide = presentation->get_LayoutSlides()->AddClone(blankLayoutSlide);

    presentation->Dispose();
}

Resumen: Las diapositivas de diseño son herramientas potentes para gestionar un formato coherente en todas las diapositivas. Aspose.Slides permite un control total sobre la creación, gestión y optimización de diapositivas de diseño.