LayoutSlide / MasterSlide — Aspose.Slides FOSS for .NET API Reference
Layout slides and master slides define the visual templates for presentation slides. Each slide references a LayoutSlide, which in turn references a MasterSlide.
Package: Aspose.Slides.Foss (net9.0)
using Aspose.Slides.Foss;LayoutSlide
public class LayoutSlide : BaseSlide, ILayoutSlideInheritance
BaseSlide → LayoutSlide
Properties
| Property | Type | Access | Description |
|---|---|---|---|
MasterSlide | IMasterSlide? | Read | Parent master slide. |
LayoutType | SlideLayoutType | Read | Layout type (Blank, Title, TitleAndContent, etc.). |
Shapes | IShapeCollection? | Read | Shapes on the layout (inherited from BaseSlide). |
Name | string | Read | Layout name (inherited from BaseSlide). |
MasterSlide
public class MasterSlide : BaseSlide, IMasterSlideInheritance
BaseSlide → MasterSlide
Properties
| Property | Type | Access | Description |
|---|---|---|---|
LayoutSlides | IMasterLayoutSlideCollection | Read | Layouts belonging to this master. |
Shapes | IShapeCollection? | Read | Shapes on the master (inherited from BaseSlide). |
Name | string | Read | Master name (inherited from BaseSlide). |
Collections
GlobalLayoutSlideCollection
Accessed via Presentation.LayoutSlides. Contains all layouts across all masters.
| Method | Returns | Description |
|---|---|---|
GetByType(SlideLayoutType type) | ILayoutSlide? | Find a layout by type. |
Count | int | Number of layout slides. |
MasterSlideCollection
Accessed via Presentation.Masters.
| Method | Returns | Description |
|---|---|---|
AddClone(IMasterSlide sourceMaster) | IMasterSlide | Clone a master slide. |
Count | int | Number of master slides. |
MasterLayoutSlideCollection
Accessed via MasterSlide.LayoutSlides.
| Method | Returns | Description |
|---|---|---|
GetByType(SlideLayoutType type) | ILayoutSlide? | Find a layout by type within this master. |
Count | int | Number of layouts in this master. |
Usage Examples
List Layouts and Masters
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
Console.WriteLine($"Masters: {prs.Masters.Count}");
foreach (var master in prs.Masters)
{
Console.WriteLine($" Master: {master.Name} ({master.LayoutSlides.Count} layouts)");
}
Console.WriteLine($"Total layouts: {prs.LayoutSlides.Count}");Add a Slide with a Specific Layout
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var blankLayout = prs.LayoutSlides.GetByType(SlideLayoutType.Blank);
prs.Slides.AddEmptySlide(blankLayout);
Console.WriteLine($"Slides: {prs.Slides.Count}");
prs.Save("with-blank.pptx", SaveFormat.Pptx);