Masters

Propiedad Presentation.Masters

Devuelve una lista de todas las diapositivas maestras que están definidas en la presentación. Solo lectura IMasterSlideCollection.

public IMasterSlideCollection Masters { get; }

Ejemplos

Los siguientes ejemplos muestran cómo agregar imágenes a las diapositivas maestras de la presentación de PowerPoint.

[C#]
using (Presentation pres = new Presentation())
{
    ISlide slide = pres.Slides[0];
    IMasterSlide masterSlide = slide.LayoutSlide.MasterSlide;
    IPPImage image = pres.Images.AddImage(File.ReadAllBytes("image.png"));
    masterSlide.Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image);
    pres.Save("pres.pptx", SaveFormat.Pptx);
}

Los siguientes ejemplos muestran cómo cambiar el color de fondo de la diapositiva maestra de la presentación de PowerPoint.

[C#]
// Instanciar la clase Presentation que representa el archivo de presentación
using (Presentation pres = new Presentation())
{
    // Establecer el color de fondo de la diapositiva maestra ISlide a Verde Bosque
    pres.Masters[0].Background.Type = BackgroundType.OwnBackground;
    pres.Masters[0].Background.FillFormat.FillType = FillType.Solid;
    pres.Masters[0].Background.FillFormat.SolidFillColor.Color = Color.ForestGreen;
    // Escribir la presentación en el disco
    pres.Save("SetSlideBackgroundMaster_out.pptx", SaveFormat.Pptx);
}

Los siguientes ejemplos muestran cómo agregar un diseño de diapositiva a la presentación de PowerPoint.

[C#]
// Instanciar la clase Presentation que representa el archivo de presentación
using (Presentation presentation = new Presentation("AccessSlides.pptx"))
{
    // Intentar buscar por tipo de diseño de diapositiva
    IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
    ILayoutSlide layoutSlide = layoutSlides.GetByType(SlideLayoutType.TitleAndObject) ?? layoutSlides.GetByType(SlideLayoutType.Title);
    if (layoutSlide == null)
    {
        // La situación cuando una presentación no contiene algunos tipos de diseños.
        // 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 nombres de diapositivas diferentes,
        // como "Título", "Título y Contenido", etc. Y es posible utilizar estos
        // nombres para la selección de diapositivas de diseño.
        // También es posible utilizar el 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.
        foreach (ILayoutSlide titleAndObjectLayoutSlide in layoutSlides)
        {
            if (titleAndObjectLayoutSlide.Name == "Título y Objeto")
            {
                layoutSlide = titleAndObjectLayoutSlide;
                break;
            }
        }
        if (layoutSlide == null)
        {
            foreach (ILayoutSlide titleLayoutSlide in layoutSlides)
            {
                if (titleLayoutSlide.Name == "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");
                }
            }
        }
    }
    // Agregar una diapositiva vacía con el diseño de diapositiva agregado
    presentation.Slides.InsertEmptySlide(0, layoutSlide);
    // Guardar presentación
    presentation.Save("AddLayoutSlides_out.pptx", SaveFormat.Pptx);
}

Ver También