officefileapi-devexpress-dot-docs-dot-presentation-dot-presentation-36ea5975.md
Returns the presentation’s collection of slides.
Namespace : DevExpress.Docs.Presentation
Assembly : DevExpress.Docs.Presentation.v25.2.dll
NuGet Package : DevExpress.Docs.Presentation
public SlideCollection Slides { get; }
Public ReadOnly Property Slides As SlideCollection
| Type | Description |
|---|---|
| SlideCollection |
The presentation slide collection.
|
Refer to the following help topics for more information about slides:
The following code snippet creates a new presentation, adds three slides, and populates slides with content:
using DevExpress.Docs.Presentation;
using DevExpress.Drawing;
using System.Drawing;
namespace DxPresentationGetStarted;
public class Program {
public static void Main(string[] _) {
// Create a new presentation and remove the default empty slide
Presentation presentation = new Presentation();
presentation.Slides.Clear();
// Specify a custom background color for the slide master to share this background across all child slides
SlideMaster slideMaster = presentation.SlideMasters[0];
slideMaster.Background = new CustomSlideBackground(new SolidFill(Color.FromArgb(194, 228, 249)));
// Create a slide with the Title layout
Slide slide1 = new Slide(slideMaster.Layouts.Get(SlideLayoutType.Title));
foreach (Shape shape in slide1.Shapes) {
// Specify the centered title text
if (shape.PlaceholderSettings.Type is PlaceholderType.CenteredTitle) {
shape.TextArea = new TextArea("Daily Testing Status Report");
}
// Set the subtitle to the current date
if (shape.PlaceholderSettings.Type is PlaceholderType.Subtitle) {
shape.TextArea = new TextArea($"{DateTime.Now: dddd, MMMM d, yyyy}");
}
}
presentation.Slides.Add(slide1);
// Create a slide based on the Object layout
Slide slide2 = new Slide(slideMaster.Layouts.GetOrCreate(SlideLayoutType.Object));
foreach (Shape shape in slide2.Shapes) {
// Specify the slide title
if (shape.PlaceholderSettings.Type is PlaceholderType.Title) {
shape.TextArea = new TextArea("Today’s Highlights");
}
// Add a list of paragraphs to the slide
if (shape.PlaceholderSettings.Type is PlaceholderType.Body) {
TextArea textArea = new TextArea();
textArea.Paragraphs.Clear();
textArea.Paragraphs.Add(new TextParagraph("5 successful builds"));
textArea.Paragraphs.Add(new TextParagraph("2 failed builds"));
textArea.Paragraphs.Add(new TextParagraph("12 new bugs reported"));
textArea.Paragraphs.Add(new TextParagraph("3 deployments"));
textArea.Paragraphs.Add(new TextParagraph("1 rollback"));
shape.TextArea = textArea;
}
}
presentation.Slides.Add(slide2);
// Create a slide based on the Object layout
Slide slide3 = new Slide(slideMaster.Layouts.GetOrCreate(SlideLayoutType.Object));
foreach (Shape shape in slide3.Shapes.ToList()) {
// Specify the slide title
if (shape.PlaceholderSettings.Type is PlaceholderType.Title) {
shape.TextArea = new TextArea("Build Status");
}
// Add a table to a slide placeholder
if (shape.PlaceholderSettings.Type is PlaceholderType.Body) {
RectangleF rect = presentation.GetActualShapeBounds(slide3, shape);
slide3.Shapes.Remove(shape);
Table table = new Table(5, 5, rect.X, rect.Y, rect.Width, rect.Height);
slide3.Shapes.Add(table);
table[0, 0].TextArea.Text = "Build ID";
table[0, 1].TextArea.Text = "Branch";
table[0, 2].TextArea.Text = "Status";
table[0, 3].TextArea.Text = "Duration";
table[0, 4].TextArea.Text = "Triggered By";
table[1, 0].TextArea.Text = "#5421";
table[1, 1].TextArea.Text = "main";
table[1, 2].TextArea.Text = "✅ Passed";
table[1, 3].TextArea.Text = "4m 30s";
table[1, 4].TextArea.Text = "Auto-schedule";
table[2, 0].TextArea.Text = "#5420";
table[2, 1].TextArea.Text = "ui-fix";
table[2, 2].TextArea.Text = "❌ Failed";
table[2, 3].TextArea.Text = "2m 18s";
table[2, 4].TextArea.Text = "Push by dev1";
table[3, 0].TextArea.Text = "#5419";
table[3, 1].TextArea.Text = "main";
table[3, 2].TextArea.Text = "✅ Passed";
table[3, 3].TextArea.Text = "3m 52s";
table[3, 4].TextArea.Text = "Auto-schedule";
table[4, 0].TextArea.Text = "#5418";
table[4, 1].TextArea.Text = "hotfix";
table[4, 2].TextArea.Text = "❌ Failed";
table[4, 3].TextArea.Text = "5m 1s";
table[4, 4].TextArea.Text = "Manual";
table.Style = new ThemedTableStyle(TableStyleType.LightStyle1);
table.HasBandedRows = false;
}
}
presentation.Slides.Add(slide3);
// Add slide numbers and a footer to all slides
presentation.HeaderFooterManager.AddSlideNumberPlaceholder(presentation.Slides);
presentation.HeaderFooterManager.AddFooterPlaceholder(presentation.Slides, "ProductXCompany");
// Save the presentation to a PPTX file
FileStream outputStream = new FileStream(@"..\..\..\data\my-presentation.pptx", FileMode.Create);
presentation.SaveDocument(outputStream);
outputStream.Dispose();
// Export the presentation to PDF
presentation.ExportToPdf(new FileStream(@"..\..\..\data\exported-document.pdf", FileMode.Create));
}
}
Imports DevExpress.Docs.Presentation
Imports DevExpress.Drawing
Imports System.Drawing
Namespace DxPresentationGetStarted
Public Class Program
Public Shared Sub Main(__ As String())
' Create a new presentation and remove the default empty slide
Dim presentation As Presentation = New Presentation()
presentation.Slides.Clear()
' Specify a custom background color for the slide master to share this background across all child slides
Dim slideMaster = presentation.SlideMasters(0)
slideMaster.Background = New CustomSlideBackground(New SolidFill(Color.FromArgb(194, 228, 249)))
' Create a slide with the Title layout
Dim slide1 As Slide = New Slide(slideMaster.Layouts.Get(SlideLayoutType.Title))
For Each shape As Shape In slide1.Shapes
' Specify the centered title text
If TypeOf shape.PlaceholderSettings.Type Is PlaceholderType.CenteredTitle Then
shape.TextArea = New TextArea("Daily Testing Status Report")
End If
' Set the subtitle to the current date
If TypeOf shape.PlaceholderSettings.Type Is PlaceholderType.Subtitle Then
shape.TextArea = New TextArea($"{Date.Now: dddd, MMMM d, yyyy}")
End If
Next
presentation.Slides.Add(slide1)
' Create a slide based on the Object layout
Dim slide2 As Slide = New Slide(slideMaster.Layouts.GetOrCreate(SlideLayoutType.Object))
For Each shape As Shape In slide2.Shapes
' Specify the slide title
If TypeOf shape.PlaceholderSettings.Type Is PlaceholderType.Title Then
shape.TextArea = New TextArea("Today’s Highlights")
End If
' Add a list of paragraphs to the slide
If TypeOf shape.PlaceholderSettings.Type Is PlaceholderType.Body Then
Dim textArea As TextArea = New TextArea()
textArea.Paragraphs.Clear()
textArea.Paragraphs.Add(New TextParagraph("5 successful builds"))
textArea.Paragraphs.Add(New TextParagraph("2 failed builds"))
textArea.Paragraphs.Add(New TextParagraph("12 new bugs reported"))
textArea.Paragraphs.Add(New TextParagraph("3 deployments"))
textArea.Paragraphs.Add(New TextParagraph("1 rollback"))
shape.TextArea = textArea
End If
Next
presentation.Slides.Add(slide2)
' Create a slide based on the Object layout
Dim slide3 As Slide = New Slide(slideMaster.Layouts.GetOrCreate(SlideLayoutType.Object))
For Each shape As Shape In slide3.Shapes.ToList()
' Specify the slide title
If shape.PlaceholderSettings.Type = PlaceholderType.Title Then
shape.TextArea = New TextArea("Build Status")
End If
' Add a table to a slide placeholder
If shape.PlaceholderSettings.Type = PlaceholderType.Body Then
Dim rect = presentation.GetActualShapeBounds(slide3, shape)
slide3.Shapes.Remove(shape)
Dim table As Table = New Table(5, 5, rect.X, rect.Y, rect.Width, rect.Height)
slide3.Shapes.Add(table)
table(0, 0).TextArea.Text = "Build ID"
table(0, 1).TextArea.Text = "Branch"
table(0, 2).TextArea.Text = "Status"
table(0, 3).TextArea.Text = "Duration"
table(0, 4).TextArea.Text = "Triggered By"
table(1, 0).TextArea.Text = "#5421"
table(1, 1).TextArea.Text = "main"
table(1, 2).TextArea.Text = "✅ Passed"
table(1, 3).TextArea.Text = "4m 30s"
table(1, 4).TextArea.Text = "Auto-schedule"
table(2, 0).TextArea.Text = "#5420"
table(2, 1).TextArea.Text = "ui-fix"
table(2, 2).TextArea.Text = "❌ Failed"
table(2, 3).TextArea.Text = "2m 18s"
table(2, 4).TextArea.Text = "Push by dev1"
table(3, 0).TextArea.Text = "#5419"
table(3, 1).TextArea.Text = "main"
table(3, 2).TextArea.Text = "✅ Passed"
table(3, 3).TextArea.Text = "3m 52s"
table(3, 4).TextArea.Text = "Auto-schedule"
table(4, 0).TextArea.Text = "#5418"
table(4, 1).TextArea.Text = "hotfix"
table(4, 2).TextArea.Text = "❌ Failed"
table(4, 3).TextArea.Text = "5m 1s"
table(4, 4).TextArea.Text = "Manual"
table.Style = New ThemedTableStyle(TableStyleType.LightStyle1)
table.HasBandedRows = False
End If
Next
presentation.Slides.Add(slide3)
' Add slide numbers and a footer to all slides
presentation.HeaderFooterManager.AddSlideNumberPlaceholder(presentation.Slides)
presentation.HeaderFooterManager.AddFooterPlaceholder(presentation.Slides, "ProductXCompany")
' Save the presentation to a PPTX file
Dim outputStream As FileStream = New FileStream("..\..\..\data\my-presentation.pptx", FileMode.Create)
presentation.SaveDocument(outputStream)
outputStream.Dispose()
' Export the presentation to PDF
presentation.ExportToPdf(New FileStream("..\..\..\data\exported-document.pdf", FileMode.Create))
End Sub
End Class
End Namespace
The following code snippets (auto-collected from DevExpress Examples) contain references to the Slides property.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.
presentation-api-extract-content/CS/Program.cs#L89
string slidesText = "";
foreach (var slide in presentation.Slides) {
#region Sort shapes
office-file-api-ai-implementation/CS/Controllers/TranslateController.cs#L36
case PresentationPart.FirstSlide:
var slide = presentation.Slides[0];
await docProcessingService.TranslateAsync(slide, language);
presentation-api-extract-content/VB/Program.vb#L77
Dim slidesText_Conflict As String = ""
For Each slide In presentation.Slides
' #Region "Sort shapes"
See Also