Diseño de Diapositiva

Un diseño de diapositiva contiene los cuadros de marcador de posición y la información de formato para todo el contenido que aparece en una diapositiva. El diseño determina los marcadores de posición de contenido disponibles y dónde se colocan.

Los diseños de diapositiva te permiten crear y diseñar presentaciones rápidamente (ya sean simples o complejas). Algunos de los diseños de diapositiva más populares utilizados en presentaciones de PowerPoint son:

  • Diseño de Diapositiva de Título. Este diseño consta de dos marcadores de posición de texto. Uno es para el título y el otro es para el subtítulo.
  • Diseño de Título y Contenido. Este diseño contiene un marcador de posición relativamente pequeño en la parte superior para el título y un marcador de posición más grande para el contenido principal (gráfico, párrafos, lista con viñetas, lista numerada, imágenes, etc.).
  • Diseño en Blanco. Este diseño carece de marcadores de posición, por lo que te permite crear elementos desde cero.

Dado que un maestro de diapositivas es la diapositiva jerárquica superior que almacena información sobre los diseños de diapositivas, puedes usar la diapositiva maestro para acceder a los diseños de diapositivas y hacer cambios en ellos. Se puede acceder a una diapositiva de diseño por tipo o nombre. De manera similar, cada diapositiva tiene un id único, que se puede usar para acceder a ella.

Alternativamente, puedes hacer cambios directamente en un diseño de diapositiva específico en una presentación.

Agregar Diseño de Diapositiva a la Presentación

  1. Crea una instancia de la clase Presentation.
  2. Accede a la colección MasterSlide.
  3. Revisa las diapositivas de diseño existentes para confirmar que el diseño de diapositiva requerido ya existe en la colección de Diapositivas de Diseño. De lo contrario, agrega la diapositiva de diseño que deseas.
  4. Agrega una diapositiva vacía basada en la nueva diapositiva de diseño.
  5. Guarda la presentación.

Este código Java te muestra cómo agregar un diseño de diapositiva a una presentación de PowerPoint:

// Instancia una clase Presentation que representa el archivo de presentación
Presentation pres = new Presentation("AccessSlides.pptx");
try {
    // Revisa los tipos de diapositivas de diseño
    IMasterLayoutSlideCollection layoutSlides = pres.getMasters().get_Item(0).getLayoutSlides();
    ILayoutSlide layoutSlide = null;

    if (layoutSlides.getByType(SlideLayoutType.TitleAndObject) != null)
        layoutSlide = layoutSlides.getByType(SlideLayoutType.TitleAndObject);
    else
        layoutSlide = layoutSlides.getByType(SlideLayoutType.Title);

    if (layoutSlide == null) {
        // La situación en la que una presentación no contiene algunos tipos de diseño.
        // El archivo de presentación solo contiene tipos de diseño en Blanco y Personalizados.
        // Pero las diapositivas de diseño con tipos Personalizados tienen diferentes nombres de diapositivas,
        // como "Título", "Título y Contenido", etc. Y es posible usar estos
        // nombres para la selección de diapositivas de diseño.
        // También puedes usar un conjunto de tipos de forma de marcador de posición. Por ejemplo,
        // la diapositiva de título debería tener solo un tipo de marcador de posición de Título, etc.
        for (ILayoutSlide titleAndObjectLayoutSlide : layoutSlides) {
            if (titleAndObjectLayoutSlide.getName() == "Título y Objeto") {
                layoutSlide = titleAndObjectLayoutSlide;
                break;
            }
        }
        if (layoutSlide == null) {
            for (ILayoutSlide titleLayoutSlide : layoutSlides) {
                if (titleLayoutSlide.getName() == "Título") {
                    layoutSlide = titleLayoutSlide;
                    break;
                }
            }
            if (layoutSlide == null) {
                layoutSlide = layoutSlides.getByType(SlideLayoutType.Blank);
                if (layoutSlide == null) {
                    layoutSlide = layoutSlides.add(SlideLayoutType.TitleAndObject, "Título y Objeto");
                }
            }
        }
    }

    // Agrega una diapositiva vacía con el diseño añadido
    pres.getSlides().insertEmptySlide(0, layoutSlide);

    // Guarda la presentación en el disco
    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Eliminar Diapositiva de Diseño No Utilizada

Aspose.Slides proporciona el método removeUnusedLayoutSlides de la clase Compress para permitirte eliminar diapositivas de diseño no deseadas y no utilizadas. Este código Java muestra cómo eliminar una diapositiva de diseño de una presentación de PowerPoint:

Presentation pres = new Presentation("pres.pptx");
try {
    Compress.removeUnusedLayoutSlides(pres);

    pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Establecer Tamaño y Tipo para el Diseño de Diapositiva

Para permitirte establecer el tamaño y tipo para una diapositiva de diseño específica, Aspose.Slides proporciona las propiedades getType() y getSize() (de la clase Presentation). Este Java demuestra la operación:

// Instancia un objeto Presentation que representa un archivo de presentación
Presentation presentation = new Presentation("demo.pptx");
try {
    Presentation auxPresentation = new Presentation();
    try {
        // Establece el tamaño de la diapositiva para la presentación generada al de la fuente
        auxPresentation.getSlideSize().setSize(540, 720, SlideSizeScaleType.EnsureFit);
        //getType());
        auxPresentation.getSlideSize().setSize(SlideSizeType.A4Paper, SlideSizeScaleType.Maximize);
        
        // Clona la diapositiva requerida
        auxPresentation.getSlides().addClone(presentation.getSlides().get_Item(0));
        auxPresentation.getSlides().removeAt(0);
        
        // Guarda la presentación en el disco
        auxPresentation.save("size.pptx", SaveFormat.Pptx);
    } finally {
        auxPresentation.dispose();
    }
} finally {
    presentation.dispose();
}

Establecer Visibilidad del Pie de Página Dentro de la Diapositiva

  1. Crea una instancia de la clase Presentation.
  2. Obtén la referencia de una diapositiva a través de su índice.
  3. Establece el marcador de posición del pie de página de la diapositiva como visible.
  4. Establece el marcador de posición de fecha y hora como visible.
  5. Guarda la presentación.

Este código Java muestra cómo establecer la visibilidad para un pie de página de diapositiva (y realizar tareas relacionadas):

Presentation presentation = new Presentation("presentation.ppt");
try {
    IBaseSlideHeaderFooterManager headerFooterManager = presentation.getSlides().get_Item(0).getHeaderFooterManager();
    if (!headerFooterManager.isFooterVisible()) // El método isFooterVisible se usa para especificar que falta un marcador de posición de pie de página de diapositiva
    {
        headerFooterManager.setFooterVisibility(true); // El método setFooterVisibility se usa para establecer un marcador de posición de pie de página de diapositiva como visible
    }
    if (!headerFooterManager.isSlideNumberVisible()) // El método isSlideNumberVisible se usa para especificar que falta un marcador de posición de número de página de diapositiva
    {
        headerFooterManager.setSlideNumberVisibility(true); // El método setSlideNumberVisibility se usa para establecer un marcador de posición de número de página de diapositiva como visible
    }
    if (!headerFooterManager.isDateTimeVisible()) // El método isDateTimeVisible se usa para especificar que falta un marcador de posición de fecha y hora de diapositiva
    {
        headerFooterManager.setDateTimeVisibility(true); // El método SetFooterVisibility se usa para establecer un marcador de posición de fecha y hora de diapositiva como visible
    }
    headerFooterManager.setFooterText("Texto del pie de página"); // El método SetFooterText se usa para establecer un texto para un marcador de posición de pie de página de diapositiva.
    headerFooterManager.setDateTimeText("Texto de fecha y hora"); // El método SetDateTimeText se usa para establecer un texto para un marcador de posición de fecha y hora de diapositiva.
} finally {
    presentation.dispose();
}

Establecer Visibilidad del Pie de Página Secundario Dentro de la Diapositiva

  1. Crea una instancia de la clase Presentation.
  2. Obtén una referencia para la diapositiva maestro a través de su índice.
  3. Establece la diapositiva maestro y todos los marcadores de posición de pie de página secundarios como visibles.
  4. Establece un texto para la diapositiva maestro y todos los marcadores de posición de pie de página secundarios.
  5. Establece un texto para la diapositiva maestro y todos los marcadores de posición de fecha y hora secundarios.
  6. Guarda la presentación.

Este código Java demuestra la operación:

Presentation presentation = new Presentation("presentation.ppt");
try {
    IMasterSlideHeaderFooterManager headerFooterManager = presentation.getMasters().get_Item(0).getHeaderFooterManager();
    headerFooterManager.setFooterAndChildFootersVisibility(true); // El método setFooterAndChildFootersVisibility se usa para establecer la diapositiva maestro y todos los marcadores de posición de pie de página secundarios como visibles
    headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true); // El método setSlideNumberAndChildSlideNumbersVisibility se usa para establecer la diapositiva maestro y todos los marcadores de posición de número de página secundarios como visibles
    headerFooterManager.setDateTimeAndChildDateTimesVisibility(true); // El método setDateTimeAndChildDateTimesVisibility se usa para establecer una diapositiva maestro y todos los marcadores de posición de fecha y hora secundarios como visibles

    headerFooterManager.setFooterAndChildFootersText("Texto del pie de página"); // El método setFooterAndChildFootersText se usa para establecer textos para la diapositiva maestro y todos los marcadores de posición de pie de página secundarios
    headerFooterManager.setDateTimeAndChildDateTimesText("Texto de fecha y hora"); // El método setDateTimeAndChildDateTimesText se usa para establecer texto para la diapositiva maestro y todos los marcadores de posición de fecha y hora secundarios
} finally {
    presentation.dispose();
}

Establecer Tamaño de Diapositiva Respecto al Escalado de Contenido

  1. Crea una instancia de la clase Presentation y carga la presentación que contiene la diapositiva cuyo tamaño deseas establecer.
  2. Crea otra instancia de la clase Presentation para generar una nueva presentación.
  3. Obtén la referencia de la diapositiva (de la primera presentación) a través de su índice.
  4. Establece el marcador de posición del pie de página de la diapositiva como visible.
  5. Establece el marcador de posición de fecha y hora como visible.
  6. Guarda la presentación.

Este código Java demuestra la operación:

// Instancia un objeto Presentation que representa un archivo de presentación
Presentation presentation = new Presentation("demo.pptx");
try {
    // Establece el tamaño de la diapositiva para las presentaciones generadas al de la fuente
    presentation.getSlideSize().setSize(540, 720, SlideSizeScaleType.EnsureFit); // El método SetSize se usa para establecer el tamaño de la diapositiva con contenido escalado para asegurar el ajuste
    presentation.getSlideSize().setSize(SlideSizeType.A4Paper, SlideSizeScaleType.Maximize); // El método SetSize se usa para establecer el tamaño de la diapositiva con el tamaño máximo del contenido

    // Guarda la presentación en el disco
    presentation.save("Set_Size&Type_out.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Establecer Tamaño de Página al Generar PDF

Ciertas presentaciones (como carteles) se convierten a menudo en documentos PDF. Si estás buscando convertir tu PowerPoint a PDF para acceder a las mejores opciones de impresión y accesibilidad, deseas establecer tus diapositivas en tamaños que se adapten a documentos PDF (A4, por ejemplo).

Aspose.Slides proporciona la clase SlideSize para permitirte especificar tus configuraciones preferidas para las diapositivas. Este código Java te muestra cómo usar la propiedad getType() (de la clase SlideSize) para establecer un tamaño de papel específico para las diapositivas en una presentación:

// Instancia un objeto Presentation que representa un archivo de presentación 
Presentation presentation = new Presentation();
try {
    // Establece la propiedad SlideSize.Type  
    presentation.getSlideSize().setSize(SlideSizeType.A4Paper,SlideSizeScaleType.EnsureFit);
    
    // Establece diferentes propiedades para las opciones de PDF
    PdfOptions opts = new  PdfOptions();
    opts.setSufficientResolution(600);
    
    // Guarda la presentación en el disco
    presentation.save("SetPDFPageSize_out.pdf", SaveFormat.Pdf, opts);
} finally {
    presentation.dispose();
}