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