Masters

Presentation.Masters 属性

返回演示文稿中定义的所有母版幻灯片的列表。只读 IMasterSlideCollection

public IMasterSlideCollection Masters { get; }

示例

以下示例展示了如何将图像添加到 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);
}

以下示例展示了如何更改 PowerPoint 演示文稿母版幻灯片的背景颜色。

[C#]
// 实例化表示演示文稿文件的 Presentation 类
using (Presentation pres = new Presentation())
{
    // 将母版 ISlide 的背景颜色设置为森林绿
    pres.Masters[0].Background.Type = BackgroundType.OwnBackground;
    pres.Masters[0].Background.FillFormat.FillType = FillType.Solid;
    pres.Masters[0].Background.FillFormat.SolidFillColor.Color = Color.ForestGreen;
    // 将演示文稿写入磁盘
    pres.Save("SetSlideBackgroundMaster_out.pptx", SaveFormat.Pptx);
}

以下示例展示了如何向 PowerPoint 演示文稿添加幻灯片布局。

[C#]
// 实例化表示演示文稿文件的 Presentation 类
using (Presentation presentation = new Presentation("AccessSlides.pptx"))
{
    // 尝试按布局幻灯片类型搜索
    IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
    ILayoutSlide layoutSlide = layoutSlides.GetByType(SlideLayoutType.TitleAndObject) ?? layoutSlides.GetByType(SlideLayoutType.Title);
    if (layoutSlide == null)
    {
        // 演示文稿不包含某种类型的布局时的情况。
        // 演示文稿文件仅包含空白和自定义布局类型。
        // 但是具有自定义类型的布局幻灯片有不同的幻灯片名称
        // ,如“标题”、“标题和内容”等。可以使用这些
        // 名称进行布局幻灯片选择。
        // 还可以使用一组占位符形状类型。例如,
        // 标题幻灯片只能具有标题占位符类型,等等。
        foreach (ILayoutSlide titleAndObjectLayoutSlide in layoutSlides)
        {
            if (titleAndObjectLayoutSlide.Name == "Title and Object")
            {
                layoutSlide = titleAndObjectLayoutSlide;
                break;
            }
        }
        if (layoutSlide == null)
        {
            foreach (ILayoutSlide titleLayoutSlide in layoutSlides)
            {
                if (titleLayoutSlide.Name == "Title")
                {
                    layoutSlide = titleLayoutSlide;
                    break;
                }
            }
            if (layoutSlide == null)
            {
                layoutSlide = layoutSlides.GetByType(SlideLayoutType.Blank);
                if (layoutSlide == null)
                {
                    layoutSlide = layoutSlides.Add(SlideLayoutType.TitleAndObject, "Title and Object");
                }
            }
        }
    }
    // 添加具有添加的布局幻灯片的空幻灯片
    presentation.Slides.InsertEmptySlide(0, layoutSlide);
    // 保存演示文稿
    presentation.Save("AddLayoutSlides_out.pptx", SaveFormat.Pptx);
}

参见