API Reference

Class

PowerPointPresentation

Namespace OfficeIMO.PowerPoint
Assembly OfficeIMO.PowerPoint
Implements
IDisposable
Modifiers sealed

Represents a PowerPoint presentation providing basic create, open and save operations.

Inheritance

  • Object
  • PowerPointPresentation

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Methods

public Void AddColumnGuides(Int32 columnCount, Int64 marginEmus, Int64 gutterEmus, Boolean includeOuterEdges = true, Boolean clearExisting = false) #
Returns: Void

Adds vertical column guides based on a grid definition.

Parameters

columnCount System.Int32 requiredposition: 0
marginEmus System.Int64 requiredposition: 1
gutterEmus System.Int64 requiredposition: 2
includeOuterEdges System.Boolean = true optionalposition: 3
clearExisting System.Boolean = false optionalposition: 4
public Void AddColumnGuidesCm(Int32 columnCount, Double marginCm, Double gutterCm, Boolean includeOuterEdges = true, Boolean clearExisting = false) #
Returns: Void

Adds vertical column guides using centimeters.

Parameters

columnCount System.Int32 requiredposition: 0
marginCm System.Double requiredposition: 1
gutterCm System.Double requiredposition: 2
includeOuterEdges System.Boolean = true optionalposition: 3
clearExisting System.Boolean = false optionalposition: 4
public Void AddGuide(PowerPointGuideOrientation orientation, Int64 positionEmus) #
Returns: Void

Adds a guide to slide view.

Parameters

orientation OfficeIMO.PowerPoint.PowerPointGuideOrientation requiredposition: 0
positionEmus System.Int64 requiredposition: 1
public Void AddGuideCm(PowerPointGuideOrientation orientation, Double positionCm) #
Returns: Void

Adds a guide using centimeter measurements.

Parameters

orientation OfficeIMO.PowerPoint.PowerPointGuideOrientation requiredposition: 0
positionCm System.Double requiredposition: 1
public Void AddGuideInches(PowerPointGuideOrientation orientation, Double positionInches) #
Returns: Void

Adds a guide using inch measurements.

Parameters

orientation OfficeIMO.PowerPoint.PowerPointGuideOrientation requiredposition: 0
positionInches System.Double requiredposition: 1
public Void AddGuidePoints(PowerPointGuideOrientation orientation, Double positionPoints) #
Returns: Void

Adds a guide using point measurements.

Parameters

orientation OfficeIMO.PowerPoint.PowerPointGuideOrientation requiredposition: 0
positionPoints System.Double requiredposition: 1
public Void AddRowGuides(Int32 rowCount, Int64 marginEmus, Int64 gutterEmus, Boolean includeOuterEdges = true, Boolean clearExisting = false) #
Returns: Void

Adds horizontal row guides based on a grid definition.

Parameters

rowCount System.Int32 requiredposition: 0
marginEmus System.Int64 requiredposition: 1
gutterEmus System.Int64 requiredposition: 2
includeOuterEdges System.Boolean = true optionalposition: 3
clearExisting System.Boolean = false optionalposition: 4
public Void AddRowGuidesCm(Int32 rowCount, Double marginCm, Double gutterCm, Boolean includeOuterEdges = true, Boolean clearExisting = false) #
Returns: Void

Adds horizontal row guides using centimeters.

Parameters

rowCount System.Int32 requiredposition: 0
marginCm System.Double requiredposition: 1
gutterCm System.Double requiredposition: 2
includeOuterEdges System.Boolean = true optionalposition: 3
clearExisting System.Boolean = false optionalposition: 4
public PowerPointSectionInfo AddSection(String name, Int32 startSlideIndex) #
Returns: PowerPointSectionInfo

Adds a new section starting at the specified slide index.

Parameters

name System.String requiredposition: 0
startSlideIndex System.Int32 requiredposition: 1
AddSlide 4 overloads
public PowerPointSlide AddSlide(SlideLayoutValues layoutType, Int32 masterIndex = 0) #
Returns: PowerPointSlide

Adds a slide using a layout type.

Parameters

arg1 DocumentFormat.OpenXml.Presentation.SlideLayoutValues requiredposition: 0
arg2 System.Int32 = 0 optionalposition: 1
public PowerPointSlide AddSlide(String layoutName, Int32 masterIndex = 0, Boolean ignoreCase = true) #
Returns: PowerPointSlide

Adds a slide using a layout name.

Parameters

layoutName System.String requiredposition: 0
masterIndex System.Int32 = 0 optionalposition: 1
ignoreCase System.Boolean = true optionalposition: 2
public PowerPointSlide AddSlide(Int32 masterIndex = 0, Int32 layoutIndex = 0) #
Returns: PowerPointSlide

Adds a new slide using the specified master and layout indexes.

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
Index of the slide master.
layoutIndex System.Int32 = 0 optionalposition: 1
Index of the slide layout.
public PowerPointSlide AddSlide(PowerPointTemplateLayoutInfo layout) #
Returns: PowerPointSlide

Adds a slide using a layout selected from a template inventory.

Parameters

layout OfficeIMO.PowerPoint.PowerPointTemplateLayoutInfo requiredposition: 0
public PowerPointPaginatedTableResult AddTableSlides<T>(IEnumerable<T> data, IEnumerable<PowerPointTableColumn<T>> columns, PowerPointTablePaginationOptions options = null) #
Returns: PowerPointPaginatedTableResult

Type Parameters

T

Parameters

data IEnumerable<T> requiredposition: 0
columns IEnumerable<PowerPointTableColumn<T>> requiredposition: 1
options PowerPointTablePaginationOptions = null optionalposition: 2
AddTableSlides``1(System.Collections.Generic.IEnumerable{``0} data, System.Collections.Generic.IEnumerable{OfficeIMO.PowerPoint.PowerPointTableColumn{``0}} columns, OfficeIMO.PowerPoint.PowerPointTablePaginationOptions options) #

Adds as many slides as required to represent every data row in native PowerPoint tables. Capacity is measured from the table box and minimum row height, and headers repeat by default.

Parameters

data System.Collections.Generic.IEnumerable{``0} required
columns System.Collections.Generic.IEnumerable{OfficeIMO.PowerPoint.PowerPointTableColumn{``0}} required
options OfficeIMO.PowerPoint.PowerPointTablePaginationOptions required
public Void ClearGuides() #
Returns: Void

Clears all guides from slide view.

public Void ClearSlides() #
Returns: Void

Removes all slides while preserving reusable template masters, layouts, themes, and assets.

public PowerPointCompositionResult Compose(PowerPointDeckPlan plan, PowerPointCompositionOptions options) #
Returns: PowerPointCompositionResult

Composes a semantic deck plan into this presentation through the single shared layout engine.

Parameters

plan OfficeIMO.PowerPoint.PowerPointDeckPlan requiredposition: 0
Semantic slide intent to render.
options OfficeIMO.PowerPoint.PowerPointCompositionOptions requiredposition: 1
Design, continuation, template-layout, validation, and preflight policy.

Returns

The resolved plan, design, rendered slides, and preflight report.

Create 2 overloads
public static PowerPointPresentation Create(String filePath) #
Returns: PowerPointPresentation

Creates a new PowerPoint presentation at the specified file path.

Parameters

filePath System.String requiredposition: 0
Path where the presentation file will be created.
public static PowerPointPresentation Create(Stream stream, PowerPointStreamCreateOptions options = null) #
Returns: PowerPointPresentation

Creates a new PowerPoint presentation in memory and optionally persists it to the provided stream on dispose.

Parameters

stream System.IO.Stream requiredposition: 0
Destination stream for the presentation package.
options OfficeIMO.PowerPoint.PowerPointStreamCreateOptions = null optionalposition: 1
Stream persistence options. The source stream remains caller-owned.
CreateFromTemplate(System.String arg1, System.String arg2, OfficeIMO.PowerPoint.PowerPointTemplateCreationOptions arg3) #

Copies a `.pptx` or `.potx` template into a new editable `.pptx`, preserving its masters, layouts, theme, relationships, and assets while applying an explicit source-slide policy.

Parameters

arg1 System.String required
arg2 System.String required
arg3 OfficeIMO.PowerPoint.PowerPointTemplateCreationOptions required
public virtual Void Dispose() #
Returns: Void
public PowerPointSlide DuplicateSlide(Int32 index, Nullable<Int32> insertAt = null) #
Returns: PowerPointSlide

Duplicates a slide and inserts it into the presentation.

Parameters

index System.Int32 requiredposition: 0
Index of the slide to duplicate.
insertAt System.Nullable{System.Int32} = null optionalposition: 1
Index where the duplicate should be inserted. Defaults to index + 1.
public PowerPointTextBox EnsureLayoutDateTimePlaceholderTextBox(Int32 masterIndex = 0, Int32 layoutIndex = 0, String text = null, Nullable<PowerPointLayoutBox> bounds = null, Nullable<UInt32> index = null) #
Returns: PowerPointTextBox

Ensures a native date/time placeholder exists on the specified slide layout.

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
layoutIndex System.Int32 = 0 optionalposition: 1
text System.String = null optionalposition: 2
bounds System.Nullable{OfficeIMO.PowerPoint.PowerPointLayoutBox} = null optionalposition: 3
index System.Nullable{System.UInt32} = null optionalposition: 4
public PowerPointTextBox EnsureLayoutFooterPlaceholderTextBox(Int32 masterIndex = 0, Int32 layoutIndex = 0, String text = null, Nullable<PowerPointLayoutBox> bounds = null, Nullable<UInt32> index = null) #
Returns: PowerPointTextBox

Ensures a native footer placeholder exists on the specified slide layout.

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
layoutIndex System.Int32 = 0 optionalposition: 1
text System.String = null optionalposition: 2
bounds System.Nullable{OfficeIMO.PowerPoint.PowerPointLayoutBox} = null optionalposition: 3
index System.Nullable{System.UInt32} = null optionalposition: 4
public IReadOnlyList<PowerPointTextBox> EnsureLayoutHeaderFooterPlaceholders(Int32 masterIndex = 0, Int32 layoutIndex = 0, String footerText = null, String dateTimeText = null, String slideNumberText = null) #
Returns: IReadOnlyList<PowerPointTextBox>

Ensures native footer, date/time, and slide-number placeholders exist on the specified slide layout.

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
layoutIndex System.Int32 = 0 optionalposition: 1
footerText System.String = null optionalposition: 2
dateTimeText System.String = null optionalposition: 3
slideNumberText System.String = null optionalposition: 4
public PowerPointTextBox EnsureLayoutPlaceholderTextBox(Int32 masterIndex, Int32 layoutIndex, PlaceholderValues placeholderType, Nullable<UInt32> index = null, Nullable<PowerPointLayoutBox> bounds = null, String name = null) #
Returns: PowerPointTextBox

Ensures a layout placeholder textbox exists, creating it if missing.

Parameters

masterIndex System.Int32 requiredposition: 0
layoutIndex System.Int32 requiredposition: 1
placeholderType DocumentFormat.OpenXml.Presentation.PlaceholderValues requiredposition: 2
index System.Nullable{System.UInt32} = null optionalposition: 3
bounds System.Nullable{OfficeIMO.PowerPoint.PowerPointLayoutBox} = null optionalposition: 4
name System.String = null optionalposition: 5
public PowerPointTextBox EnsureLayoutSlideNumberPlaceholderTextBox(Int32 masterIndex = 0, Int32 layoutIndex = 0, String text = null, Nullable<PowerPointLayoutBox> bounds = null, Nullable<UInt32> index = null) #
Returns: PowerPointTextBox

Ensures a native slide-number placeholder exists on the specified slide layout.

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
layoutIndex System.Int32 = 0 optionalposition: 1
text System.String = null optionalposition: 2
bounds System.Nullable{OfficeIMO.PowerPoint.PowerPointLayoutBox} = null optionalposition: 3
index System.Nullable{System.UInt32} = null optionalposition: 4
public IReadOnlyList<OfficeImageExportResult> ExportImages(OfficeImageExportFormat format, PowerPointPresentationImageExportOptions options = null) #
Returns: IReadOnlyList<OfficeImageExportResult>

Exports presentation slides as PNG or SVG images.

Parameters

format OfficeIMO.Drawing.OfficeImageExportFormat requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointPresentationImageExportOptions = null optionalposition: 1
ExportSlide 2 overloads
public Void ExportSlide(Int32 slideIndex, Stream destination) #
Returns: Void

Exports a single slide as a standalone one-slide PowerPoint presentation.

Parameters

slideIndex System.Int32 requiredposition: 0
Zero-based index of the slide to export.
filePath System.String requiredposition: 1
Destination .pptx path.
ExportSlide(System.Int32 slideIndex, System.IO.Stream destination) #

Exports a single slide as a standalone one-slide PowerPoint presentation.

Parameters

slideIndex System.Int32 required
Zero-based index of the slide to export.
destination System.IO.Stream required
Writable destination stream.
public IReadOnlyList<PowerPointGuideInfo> GetGuides() #
Returns: IReadOnlyList<PowerPointGuideInfo>

Returns the current guides defined for slide view.

GetLayoutIndex 2 overloads
public Int32 GetLayoutIndex(SlideLayoutValues layoutType, Int32 masterIndex = 0) #
Returns: Int32

Finds a layout index by layout type.

Parameters

layoutType DocumentFormat.OpenXml.Presentation.SlideLayoutValues requiredposition: 0
masterIndex System.Int32 = 0 optionalposition: 1
public Int32 GetLayoutIndex(String layoutName, Int32 masterIndex = 0, Boolean ignoreCase = true) #
Returns: Int32

Finds a layout index by layout name.

Parameters

layoutName System.String requiredposition: 0
masterIndex System.Int32 = 0 optionalposition: 1
ignoreCase System.Boolean = true optionalposition: 2
public PowerPointTextBox GetLayoutPlaceholderTextBox(Int32 masterIndex, Int32 layoutIndex, PlaceholderValues placeholderType, Nullable<UInt32> index = null) #
Returns: PowerPointTextBox

Retrieves a layout placeholder textbox for a master/layout pair.

Parameters

masterIndex System.Int32 requiredposition: 0
layoutIndex System.Int32 requiredposition: 1
placeholderType DocumentFormat.OpenXml.Presentation.PlaceholderValues requiredposition: 2
index System.Nullable{System.UInt32} = null optionalposition: 3
public IReadOnlyList<PowerPointSectionInfo> GetSections() #
Returns: IReadOnlyList<PowerPointSectionInfo>

Returns the sections defined in the presentation.

public IReadOnlyList<PowerPointSlideLayoutInfo> GetSlideLayouts(Int32 masterIndex = 0) #
Returns: IReadOnlyList<PowerPointSlideLayoutInfo>

Returns the layouts available for a slide master.

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
public String GetThemeColor(PowerPointThemeColor color, Int32 masterIndex = 0) #
Returns: String

Gets a theme color value in hex format (e.g. "FF0000").

Parameters

color OfficeIMO.PowerPoint.PowerPointThemeColor requiredposition: 0
masterIndex System.Int32 = 0 optionalposition: 1
public IReadOnlyDictionary<PowerPointThemeColor, String> GetThemeColors(Int32 masterIndex = 0) #
Returns: IReadOnlyDictionary<PowerPointThemeColor, String>

Returns the theme colors that are defined on the master.

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
public PowerPointThemeFontSet GetThemeFonts(Int32 masterIndex = 0) #
Returns: PowerPointThemeFontSet

Gets the major/minor fonts (Latin, East Asian, and complex script).

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
public PowerPointThemeFontInfo GetThemeLatinFonts(Int32 masterIndex = 0) #
Returns: PowerPointThemeFontInfo

Gets the major/minor Latin fonts for the theme.

Parameters

masterIndex System.Int32 = 0 optionalposition: 0
public PowerPointSlide ImportSlide(PowerPointPresentation sourcePresentation, Int32 sourceIndex, Nullable<Int32> insertAt = null) #
Returns: PowerPointSlide

Imports a slide from another presentation and inserts it into the current presentation.

Parameters

sourcePresentation OfficeIMO.PowerPoint.PowerPointPresentation requiredposition: 0
Presentation to import from.
sourceIndex System.Int32 requiredposition: 1
Index of the slide to import.
insertAt System.Nullable{System.Int32} = null optionalposition: 2
Index where the imported slide should be inserted. Defaults to end.
public PowerPointInspectionReport Inspect(PowerPointInspectionOptions options = null) #
Returns: PowerPointInspectionReport

Runs a coherent set of inspections over the current presentation without changing it.

Parameters

options OfficeIMO.PowerPoint.PowerPointInspectionOptions = null optionalposition: 0
public PowerPointAccessibilityReport InspectAccessibility(PowerPointAccessibilityOptions options = null) #
Returns: PowerPointAccessibilityReport

Inspects generated or imported slides against a structured accessibility policy.

Parameters

options OfficeIMO.PowerPoint.PowerPointAccessibilityOptions = null optionalposition: 0
public PowerPointAnimationReport InspectAnimations() #
Returns: PowerPointAnimationReport

Inspects slide timing trees before any animation authoring is attempted.

public PowerPointFeatureReport InspectFeatures() #
Returns: PowerPointFeatureReport

Inspects presentation features and reports which ones OfficeIMO can edit, partially edit, preserve, or does not support yet.

public PowerPointDeckPreflightReport InspectPreflight(PowerPointDeckPreflightOptions options = null) #
Returns: PowerPointDeckPreflightReport

Inspects authored slide bounds, measured text fit, peer collisions, image relationships, and shared visual-snapshot diagnostics without changing the presentation.

Parameters

options OfficeIMO.PowerPoint.PowerPointDeckPreflightOptions = null optionalposition: 0
public PowerPointReviewReport InspectReviewComments() #
Returns: PowerPointReviewReport

Inspects classic and modern comments without mutating review markup.

public PowerPointSignatureReport InspectSignatures() #
Returns: PowerPointSignatureReport

Inspects package signature metadata without mutating it.

InspectTemplate 2 overloads
InspectTemplate(System.String arg1) #

Reads a template inventory from an existing presentation or PowerPoint template file.

Parameters

arg1 System.String required
InspectTemplate() #

Inventories masters, layouts, placeholders, theme tokens, assets, footer content, and safe areas.

public PowerPointVisualProofReport InspectVisuals(String sourceKind = "generated") #
Returns: PowerPointVisualProofReport

Creates structural, extraction, accessibility, PNG, SVG, and snapshot proof for every slide.

Parameters

sourceKind System.String = "generated" optionalposition: 0
public Void MoveSlide(Int32 fromIndex, Int32 toIndex) #
Returns: Void

Moves a slide from one index to another.

Parameters

fromIndex System.Int32 requiredposition: 0
Current index of the slide.
toIndex System.Int32 requiredposition: 1
Destination index of the slide.
Open 2 overloads
public static PowerPointPresentation Open(Stream stream, PowerPointStreamOpenOptions options = null) #
Returns: PowerPointPresentation

Opens an existing PowerPoint presentation.

Parameters

filePath System.String requiredposition: 0
Path of the presentation file to open.
mode OfficeIMO.PowerPoint.PowerPointOpenMode = null optionalposition: 1
Open the presentation for editing or read-only inspection.
Open(System.IO.Stream stream, OfficeIMO.PowerPoint.PowerPointStreamOpenOptions options) #

Opens a PowerPoint presentation from a stream.

Parameters

stream System.IO.Stream required
Source stream containing the presentation package.
options OfficeIMO.PowerPoint.PowerPointStreamOpenOptions required
Access and persistence options. The source stream remains caller-owned.
OpenEncrypted 2 overloads
public static PowerPointPresentation OpenEncrypted(Stream stream, String password, PowerPointOpenMode mode = Edit) #
Returns: PowerPointPresentation

Opens a password-encrypted Office Open XML PowerPoint presentation.

Parameters

filePath System.String requiredposition: 0
Path of the encrypted presentation file to open.
password System.String requiredposition: 1
Password used to decrypt the presentation package.
mode OfficeIMO.PowerPoint.PowerPointOpenMode = Edit optionalposition: 2
Open the decrypted package for editing or read-only inspection.
OpenEncrypted(System.IO.Stream stream, System.String password, OfficeIMO.PowerPoint.PowerPointOpenMode mode) #

Opens a password-encrypted Office Open XML PowerPoint presentation from a stream.

Parameters

stream System.IO.Stream required
Source stream containing the encrypted presentation package.
password System.String required
Password used to decrypt the presentation package.
mode OfficeIMO.PowerPoint.PowerPointOpenMode required
Open the decrypted package for editing or read-only inspection.
public IReadOnlyList<PowerPointDeckPlanSlideRenderSummary> PreviewComposition(PowerPointDeckPlan plan, PowerPointCompositionOptions options) #
Returns: IReadOnlyList<PowerPointDeckPlanSlideRenderSummary>

Describes how a semantic plan will resolve without changing this presentation.

Parameters

plan OfficeIMO.PowerPoint.PowerPointDeckPlan requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointCompositionOptions requiredposition: 1
public Void RemoveSlide(Int32 index) #
Returns: Void

Removes the slide at the specified index.

Parameters

index System.Int32 requiredposition: 0
Index of the slide to remove.
public Boolean RenameSection(String name, String newName, Boolean ignoreCase = true) #
Returns: Boolean

Renames the first section matching the provided name.

Parameters

name System.String requiredposition: 0
newName System.String requiredposition: 1
ignoreCase System.Boolean = true optionalposition: 2
public Int32 ReplaceText(String oldValue, String newValue, Boolean includeTables = true, Boolean includeNotes = false) #
Returns: Int32

Replaces text across all slides.

Parameters

oldValue System.String requiredposition: 0
newValue System.String requiredposition: 1
includeTables System.Boolean = true optionalposition: 2
includeNotes System.Boolean = false optionalposition: 3
Save 2 overloads
public Void Save() #
Returns: Void

Saves all pending changes to the underlying package.

public Void Save(Stream destination) #
Returns: Void

Saves the presentation to the provided stream.

Parameters

destination System.IO.Stream requiredposition: 0
SaveAsImages 2 overloads
public IReadOnlyList<OfficeImageExportResult> SaveAsImages(String folderPath, PowerPointPresentationImageExportOptions options = null) #
Returns: IReadOnlyList<OfficeImageExportResult>

Saves visible presentation slides as PNG files in a folder.

Parameters

folderPath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointPresentationImageExportOptions = null optionalposition: 1
public IReadOnlyList<OfficeImageExportResult> SaveAsImages(String folderPath, OfficeImageExportFormat format, PowerPointPresentationImageExportOptions options = null) #
Returns: IReadOnlyList<OfficeImageExportResult>

Saves visible presentation slides as image files in a folder.

Parameters

folderPath System.String requiredposition: 0
format OfficeIMO.Drawing.OfficeImageExportFormat requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointPresentationImageExportOptions = null optionalposition: 2
SaveEncrypted 2 overloads
public Void SaveEncrypted(String filePath, String password, Boolean openPowerPoint = false) #
Returns: Void

Saves the presentation as a password-encrypted Office Open XML package.

Parameters

filePath System.String requiredposition: 0
Destination path for the encrypted presentation.
password System.String requiredposition: 1
Password used to encrypt the presentation package.
openPowerPoint System.Boolean = false optionalposition: 2
Whether to open the saved file after writing.
public Void SaveEncrypted(Stream destination, String password) #
Returns: Void

Saves the presentation as a password-encrypted Office Open XML package to a stream.

Parameters

destination System.IO.Stream requiredposition: 0
Writable stream receiving the encrypted presentation.
password System.String requiredposition: 1
Password used to encrypt the presentation package.
SaveWithPreflight(OfficeIMO.PowerPoint.PowerPointDeckPreflightOptions arg1) #

Runs deck preflight and saves only when no finding meets the configured failure threshold.

Parameters

arg1 OfficeIMO.PowerPoint.PowerPointDeckPreflightOptions required
public Void SetGridSpacing(Int64 xEmus, Int64 yEmus) #
Returns: Void

Sets grid spacing in EMUs.

Parameters

xEmus System.Int64 requiredposition: 0
yEmus System.Int64 requiredposition: 1
public Void SetGridSpacingCm(Double xCm, Double yCm) #
Returns: Void

Sets grid spacing in centimeters.

Parameters

xCm System.Double requiredposition: 0
yCm System.Double requiredposition: 1
public Void SetGridSpacingInches(Double xInches, Double yInches) #
Returns: Void

Sets grid spacing in inches.

Parameters

xInches System.Double requiredposition: 0
yInches System.Double requiredposition: 1
public Void SetGridSpacingPoints(Double xPoints, Double yPoints) #
Returns: Void

Sets grid spacing in points.

Parameters

xPoints System.Double requiredposition: 0
yPoints System.Double requiredposition: 1
public Void SetGuides(IEnumerable<PowerPointGuideInfo> guides) #
Returns: Void

Sets the guide list to the provided collection.

Parameters

guides System.Collections.Generic.IEnumerable{OfficeIMO.PowerPoint.PowerPointGuideInfo} requiredposition: 0
public Void SetLayoutPlaceholderBounds(Int32 masterIndex, Int32 layoutIndex, PlaceholderValues placeholderType, PowerPointLayoutBox bounds, Nullable<UInt32> index = null, Boolean createIfMissing = false) #
Returns: Void

Sets layout placeholder bounds.

Parameters

masterIndex System.Int32 requiredposition: 0
layoutIndex System.Int32 requiredposition: 1
placeholderType DocumentFormat.OpenXml.Presentation.PlaceholderValues requiredposition: 2
bounds OfficeIMO.PowerPoint.PowerPointLayoutBox requiredposition: 3
index System.Nullable{System.UInt32} = null optionalposition: 4
createIfMissing System.Boolean = false optionalposition: 5
public Void SetLayoutPlaceholderTextMarginsCm(Int32 masterIndex, Int32 layoutIndex, PlaceholderValues placeholderType, Double leftCm, Double topCm, Double rightCm, Double bottomCm, Nullable<UInt32> index = null, Boolean createIfMissing = false) #
Returns: Void

Sets layout placeholder text margins in centimeters.

Parameters

masterIndex System.Int32 requiredposition: 0
layoutIndex System.Int32 requiredposition: 1
placeholderType DocumentFormat.OpenXml.Presentation.PlaceholderValues requiredposition: 2
leftCm System.Double requiredposition: 3
topCm System.Double requiredposition: 4
rightCm System.Double requiredposition: 5
bottomCm System.Double requiredposition: 6
index System.Nullable{System.UInt32} = null optionalposition: 7
createIfMissing System.Boolean = false optionalposition: 8
public Void SetLayoutPlaceholderTextMarginsInches(Int32 masterIndex, Int32 layoutIndex, PlaceholderValues placeholderType, Double leftInches, Double topInches, Double rightInches, Double bottomInches, Nullable<UInt32> index = null, Boolean createIfMissing = false) #
Returns: Void

Sets layout placeholder text margins in inches.

Parameters

masterIndex System.Int32 requiredposition: 0
layoutIndex System.Int32 requiredposition: 1
placeholderType DocumentFormat.OpenXml.Presentation.PlaceholderValues requiredposition: 2
leftInches System.Double requiredposition: 3
topInches System.Double requiredposition: 4
rightInches System.Double requiredposition: 5
bottomInches System.Double requiredposition: 6
index System.Nullable{System.UInt32} = null optionalposition: 7
createIfMissing System.Boolean = false optionalposition: 8
public Void SetLayoutPlaceholderTextMarginsPoints(Int32 masterIndex, Int32 layoutIndex, PlaceholderValues placeholderType, Double leftPoints, Double topPoints, Double rightPoints, Double bottomPoints, Nullable<UInt32> index = null, Boolean createIfMissing = false) #
Returns: Void

Sets layout placeholder text margins in points.

Parameters

masterIndex System.Int32 requiredposition: 0
layoutIndex System.Int32 requiredposition: 1
placeholderType DocumentFormat.OpenXml.Presentation.PlaceholderValues requiredposition: 2
leftPoints System.Double requiredposition: 3
topPoints System.Double requiredposition: 4
rightPoints System.Double requiredposition: 5
bottomPoints System.Double requiredposition: 6
index System.Nullable{System.UInt32} = null optionalposition: 7
createIfMissing System.Boolean = false optionalposition: 8
public Void SetLayoutPlaceholderTextStyle(Int32 masterIndex, Int32 layoutIndex, PlaceholderValues placeholderType, PowerPointTextStyle style, Nullable<UInt32> index = null, Nullable<Int32> level = null, Nullable<Char> bulletChar = null, Nullable<TextAutoNumberSchemeValues> numbering = null, Boolean createIfMissing = false) #
Returns: Void

Sets layout placeholder text styling and optional bullet settings.

Parameters

masterIndex System.Int32 requiredposition: 0
layoutIndex System.Int32 requiredposition: 1
placeholderType DocumentFormat.OpenXml.Presentation.PlaceholderValues requiredposition: 2
style OfficeIMO.PowerPoint.PowerPointTextStyle requiredposition: 3
index System.Nullable{System.UInt32} = null optionalposition: 4
level System.Nullable{System.Int32} = null optionalposition: 5
bulletChar System.Nullable{System.Char} = null optionalposition: 6
numbering System.Nullable{DocumentFormat.OpenXml.Drawing.TextAutoNumberSchemeValues} = null optionalposition: 7
createIfMissing System.Boolean = false optionalposition: 8
public Void SetThemeColor(PowerPointThemeColor color, String hexValue, Int32 masterIndex = 0) #
Returns: Void

Sets a theme color value in hex format (e.g. "FF0000").

Parameters

color OfficeIMO.PowerPoint.PowerPointThemeColor requiredposition: 0
hexValue System.String requiredposition: 1
masterIndex System.Int32 = 0 optionalposition: 2
public Void SetThemeColorForAllMasters(PowerPointThemeColor color, String hexValue) #
Returns: Void

Sets a theme color value across all masters.

Parameters

color OfficeIMO.PowerPoint.PowerPointThemeColor requiredposition: 0
hexValue System.String requiredposition: 1
public Void SetThemeColors(IDictionary<PowerPointThemeColor, String> colors, Int32 masterIndex = 0) #
Returns: Void

Sets multiple theme colors at once.

Parameters

colors System.Collections.Generic.IDictionary{OfficeIMO.PowerPoint.PowerPointThemeColor,System.String} requiredposition: 0
masterIndex System.Int32 = 0 optionalposition: 1
public Void SetThemeColorsForAllMasters(IDictionary<PowerPointThemeColor, String> colors) #
Returns: Void

Sets multiple theme colors across all masters.

Parameters

colors System.Collections.Generic.IDictionary{OfficeIMO.PowerPoint.PowerPointThemeColor,System.String} requiredposition: 0
public Void SetThemeFonts(PowerPointThemeFontSet fonts, Int32 masterIndex = 0, Boolean keepExistingWhenNull = true) #
Returns: Void

Sets the major/minor fonts (Latin, East Asian, and complex script).

Parameters

fonts OfficeIMO.PowerPoint.PowerPointThemeFontSet requiredposition: 0
masterIndex System.Int32 = 0 optionalposition: 1
keepExistingWhenNull System.Boolean = true optionalposition: 2
public Void SetThemeFontsForAllMasters(PowerPointThemeFontSet fonts, Boolean keepExistingWhenNull = true) #
Returns: Void

Sets the major/minor fonts (Latin, East Asian, and complex script) across all masters.

Parameters

fonts OfficeIMO.PowerPoint.PowerPointThemeFontSet requiredposition: 0
keepExistingWhenNull System.Boolean = true optionalposition: 1
public Void SetThemeLatinFonts(String majorLatin, String minorLatin, Int32 masterIndex = 0) #
Returns: Void

Sets the major/minor Latin fonts for the theme.

Parameters

majorLatin System.String requiredposition: 0
minorLatin System.String requiredposition: 1
masterIndex System.Int32 = 0 optionalposition: 2
public Void SetThemeLatinFontsForAllMasters(String majorLatin, String minorLatin) #
Returns: Void

Sets the major/minor Latin fonts across all masters.

Parameters

majorLatin System.String requiredposition: 0
minorLatin System.String requiredposition: 1
public Void SetThemeNameForAllMasters(String name) #
Returns: Void

Sets the theme name across all masters.

Parameters

name System.String requiredposition: 0
public PowerPointPresentationImageExportBuilder ToImages() #
Returns: PowerPointPresentationImageExportBuilder

Starts a fluent image export for selected slides in this presentation.

public List<ValidationErrorInfo> ValidateDocument(FileFormatVersions fileFormatVersions = Microsoft365) #
Returns: List<ValidationErrorInfo>

Validates the presentation using the specified file format version.

Parameters

fileFormatVersions DocumentFormat.OpenXml.FileFormatVersions = Microsoft365 optionalposition: 0
File format version to validate against.

Returns

List of validation errors.

Examples


using (var presentation = PowerPointPresentation.Create("test.pptx")) {
    var errors = presentation.ValidateDocument();
    if (errors.Count > 0) {
        // Handle validation errors
    }
}
            

Properties

public IReadOnlyList<PowerPointSlide> Slides { get; } #

Collection of slides in the presentation.

public PowerPointBuiltinDocumentProperties BuiltinDocumentProperties { get; } #

Built-in package properties for the presentation.

public PowerPointApplicationProperties ApplicationProperties { get; } #

Extended application properties for the presentation.

public PowerPointSlideSize SlideSize { get; } #

Slide size information for the presentation.

public String ThemeName { get; set; } #

Gets or sets the name of the presentation theme.

public IReadOnlyList<PowerPointTableStyleInfo> TableStyles { get; } #

Gets the list of table styles available in the presentation.

public Boolean DocumentIsValid { get; } #

Indicates whether the presentation passes Open XML validation.

public List<ValidationErrorInfo> DocumentValidationErrors { get; } #

Gets the list of validation errors for the presentation.

public Boolean SnapToGrid { get; set; } #

Gets or sets whether slide view snapping uses the grid.

public Int64 GridSpacingXEmus { get; set; } #

Horizontal grid spacing in EMUs.

public Int64 GridSpacingYEmus { get; set; } #

Vertical grid spacing in EMUs.

public PowerPointSignatureMutationPolicy SignatureMutationPolicy { get; set; } #

Signature policy applied before save. The safe default blocks mutation of signed packages.

public PowerPointSignatureReport LastSignatureReport { get; set; } #

Report produced by the latest signature inspection or save policy check.

Extension Methods

public static IEnumerable<PowerPointExtractChunk> ExtractMarkdownChunks(PowerPointPresentation presentation, PowerPointExtractOptions extract = null, PowerPointExtractChunkingOptions chunking = null, String sourcePath = null, CancellationToken cancellationToken = null) #
Returns: IEnumerable<PowerPointExtractChunk>

Extracts a presentation into slide-aligned chunks (one chunk per slide by default).

Parameters

presentation OfficeIMO.PowerPoint.PowerPointPresentation requiredposition: 0
extract OfficeIMO.PowerPoint.PowerPointExtractionExtensions.PowerPointExtractOptions = null optionalposition: 1
chunking OfficeIMO.PowerPoint.PowerPointExtractChunkingOptions = null optionalposition: 2
sourcePath System.String = null optionalposition: 3
cancellationToken System.Threading.CancellationToken = null optionalposition: 4