API Reference

Class

PowerPointPresentation

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

Represents a PowerPoint presentation providing create, load, 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 PowerPointClassicComment AddClassicComment(PowerPointSlide slide, PowerPointCommentAuthor author, String text, Int64 x = 0, Int64 y = 0, Nullable<DateTime> created = null) #
Returns: PowerPointClassicComment

Adds a classic comment that can round-trip through PPTX and binary PPT.

Parameters

slide OfficeIMO.PowerPoint.PowerPointSlide requiredposition: 0
author OfficeIMO.PowerPoint.PowerPointCommentAuthor requiredposition: 1
text System.String requiredposition: 2
x System.Int64 = 0 optionalposition: 3
y System.Int64 = 0 optionalposition: 4
created System.Nullable{System.DateTime} = null optionalposition: 5
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 PowerPointCustomShow AddCustomShow(String name, IEnumerable<PowerPointSlide> slides) #
Returns: PowerPointCustomShow

Creates a custom show with an explicit, nonempty slide sequence.

Parameters

name System.String requiredposition: 0
slides System.Collections.Generic.IEnumerable{OfficeIMO.PowerPoint.PowerPointSlide} requiredposition: 1
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 PowerPointModernComment AddModernComment(PowerPointSlide slide, PowerPointCommentAuthor author, String text, PowerPointModernCommentStatus status = Active, Int64 x = 0, Int64 y = 0, Nullable<DateTime> created = null) #
Returns: PowerPointModernComment

Adds a modern threaded comment to a slide.

Parameters

slide OfficeIMO.PowerPoint.PowerPointSlide requiredposition: 0
author OfficeIMO.PowerPoint.PowerPointCommentAuthor requiredposition: 1
text System.String requiredposition: 2
status OfficeIMO.PowerPoint.PowerPointModernCommentStatus = Active optionalposition: 3
x System.Int64 = 0 optionalposition: 4
y System.Int64 = 0 optionalposition: 5
created System.Nullable{System.DateTime} = null optionalposition: 6
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(PowerPointSlideLayoutType layoutType, Int32 masterIndex = 0) #
Returns: PowerPointSlide

Adds a slide using a layout type.

Parameters

layoutType OfficeIMO.PowerPoint.PowerPointSlideLayoutType requiredposition: 0
masterIndex 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

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.

Type Parameters

T

Parameters

data System.Collections.Generic.IEnumerable{``0} requiredposition: 0
columns System.Collections.Generic.IEnumerable{OfficeIMO.PowerPoint.PowerPointTableColumn{``0}} requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointTablePaginationOptions = null optionalposition: 2
public static PowerPointPresentationConversionReport AnalyzeConversion(String sourcePath, String destinationPath, PowerPointPresentationConversionOptions options = null) #
Returns: PowerPointPresentationConversionReport

Analyzes a file-to-file PowerPoint conversion without creating or changing an artifact.

Parameters

sourcePath System.String requiredposition: 0
destinationPath System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointPresentationConversionOptions = null optionalposition: 2
public static async Task<PowerPointPresentationConversionReport> AnalyzeConversionAsync(String sourcePath, String destinationPath, PowerPointPresentationConversionOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<PowerPointPresentationConversionReport>

Asynchronously analyzes a file-to-file PowerPoint conversion without creating or changing an artifact.

Parameters

sourcePath System.String requiredposition: 0
destinationPath System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointPresentationConversionOptions = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
public LegacyPptWritePreflightReport AnalyzeLegacyPptWrite() #
Returns: LegacyPptWritePreflightReport

Analyzes whether this presentation fits the native binary PPT/POT/PPS writer subset.

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.

public static PowerPointPresentationConversionResult Convert(String sourcePath, String destinationPath, PowerPointPresentationConversionOptions options = null) #
Returns: PowerPointPresentationConversionResult

Converts a PowerPoint file and returns format and feature-level fidelity diagnostics.

Parameters

sourcePath System.String requiredposition: 0
destinationPath System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointPresentationConversionOptions = null optionalposition: 2
public static async Task<PowerPointPresentationConversionResult> ConvertAsync(String sourcePath, String destinationPath, PowerPointPresentationConversionOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<PowerPointPresentationConversionResult>

Asynchronously converts a PowerPoint file and returns feature-level fidelity diagnostics.

Parameters

sourcePath System.String requiredposition: 0
destinationPath System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointPresentationConversionOptions = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
Create 3 overloads
public static PowerPointPresentation Create() #
Returns: PowerPointPresentation

Creates a detached presentation with explicit persistence.

public static PowerPointPresentation Create(String filePath, PowerPointCreateOptions options = null) #
Returns: PowerPointPresentation

Creates a new presentation associated with a file path. The path is not created until Save is called or SaveOnDispose is explicitly enabled.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointCreateOptions = null optionalposition: 1
public static PowerPointPresentation Create(Stream stream, PowerPointCreateOptions options = null) #
Returns: PowerPointPresentation

Creates a new presentation associated with a caller-owned stream. The stream is not written until Save is called or SaveOnDispose is explicitly enabled.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointCreateOptions = null optionalposition: 1
public virtual Void Dispose() #
Returns: Void
public virtual async ValueTask DisposeAsync() #
Returns: ValueTask

Asynchronously persists opt-in changes and releases package resources.

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, PowerPointPlaceholderType 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 OfficeIMO.PowerPoint.PowerPointPlaceholderType 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
ExportImages 2 overloads
public IReadOnlyList<OfficeImageExportResult> ExportImages(OfficeImageExportFormat format, PowerPointPresentationImageExportOptions options = null) #
Returns: IReadOnlyList<OfficeImageExportResult>

Exports presentation slides as supported raster formats or SVG images.

Parameters

format OfficeIMO.Drawing.OfficeImageExportFormat requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointPresentationImageExportOptions = null optionalposition: 1
public Void ExportImages(OfficeImageExportFormat format, OfficeImageExportConsumer consumer, PowerPointPresentationImageExportOptions options = null, CancellationToken cancellationToken = null) #
Returns: Void

Streams selected slide images to a consumer without retaining earlier payloads.

Parameters

format OfficeIMO.Drawing.OfficeImageExportFormat requiredposition: 0
consumer OfficeIMO.Drawing.OfficeImageExportConsumer requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointPresentationImageExportOptions = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
ExportSlide 2 overloads
public Void ExportSlide(Int32 slideIndex, String filePath) #
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.
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.
destination System.IO.Stream requiredposition: 1
Writable destination stream.
public IReadOnlyList<PowerPointClassicComment> GetClassicComments(PowerPointSlide slide) #
Returns: IReadOnlyList<PowerPointClassicComment>

Returns editable classic comments for a slide.

Parameters

slide OfficeIMO.PowerPoint.PowerPointSlide requiredposition: 0
public PowerPointCustomShow GetCustomShow(String name) #
Returns: PowerPointCustomShow

Finds a custom show by name using ordinal, case-insensitive matching.

Parameters

name System.String requiredposition: 0
public IReadOnlyList<PowerPointGuideInfo> GetGuides() #
Returns: IReadOnlyList<PowerPointGuideInfo>

Returns the current guides defined for slide view.

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

Finds a layout index by layout type.

Parameters

layoutType OfficeIMO.PowerPoint.PowerPointSlideLayoutType 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, PowerPointPlaceholderType 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 OfficeIMO.PowerPoint.PowerPointPlaceholderType requiredposition: 2
index System.Nullable{System.UInt32} = null optionalposition: 3
public IReadOnlyList<PowerPointModernComment> GetModernComments(PowerPointSlide slide) #
Returns: IReadOnlyList<PowerPointModernComment>

Returns editable modern comments for a slide.

Parameters

slide OfficeIMO.PowerPoint.PowerPointSlide requiredposition: 0
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 Byte[] GetVbaProjectBytes(Int64 maximumBytes = 67108864) #
Returns: Byte[]

Reads the exact embedded VBA compound storage without changing the caller-visible package.

Parameters

maximumBytes System.Int64 = 67108864 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
InspectAnimations 2 overloads
public PowerPointAnimationReport InspectAnimations() #
Returns: PowerPointAnimationReport

Inspects slide timing trees before any animation authoring is attempted.

public PowerPointAnimationReport InspectAnimations(PowerPointAnimationInspectionOptions options) #
Returns: PowerPointAnimationReport

Inspects slide timing trees with explicit traversal and result limits.

Parameters

options OfficeIMO.PowerPoint.PowerPointAnimationInspectionOptions requiredposition: 0
public PowerPointFeatureReport InspectFeatures() #
Returns: PowerPointFeatureReport

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

public static OfficePackageSignatureInfo InspectPackageSignatures(String filePath, OfficePackageSignatureInspectionOptions options = null) #
Returns: OfficePackageSignatureInfo

Inspects a saved PPTX/PPTM package through the shared dependency-light OPC signature engine.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.Security.OfficePackageSignatureInspectionOptions = null optionalposition: 1
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.

public static OfficeVbaSignatureInfo InspectVbaSignatures(String filePath, OfficeVbaSignatureInspectionOptions options = null) #
Returns: OfficeVbaSignatureInfo

Inspects legacy, agile, and V3 VBA signature profiles in a saved PPTM/POTM/PPSM package.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.Security.OfficeVbaSignatureInspectionOptions = null optionalposition: 1
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
Load 4 overloads
public static PowerPointPresentation Load(String filePath, PowerPointLoadOptions options = null) #
Returns: PowerPointPresentation

Loads an existing presentation into detached memory.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointLoadOptions = null optionalposition: 1
public static PowerPointPresentation Load(String filePath, PowerPointLoadOptions options, CancellationToken cancellationToken) #
Returns: PowerPointPresentation

Loads an existing presentation into detached memory with cancellation.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointLoadOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
public static PowerPointPresentation Load(Stream stream, PowerPointLoadOptions options = null) #
Returns: PowerPointPresentation

Loads a presentation from a caller-owned stream into memory. Editable writable seekable sources become the associated destination; other sources remain detached.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointLoadOptions = null optionalposition: 1
public static PowerPointPresentation Load(Stream stream, PowerPointLoadOptions options, CancellationToken cancellationToken) #
Returns: PowerPointPresentation

Loads a presentation from a caller-owned stream into memory with cancellation.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointLoadOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
LoadAsync 2 overloads
public static async Task<PowerPointPresentation> LoadAsync(String filePath, PowerPointLoadOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<PowerPointPresentation>

Asynchronously loads an existing presentation into detached memory.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointLoadOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public static async Task<PowerPointPresentation> LoadAsync(Stream stream, PowerPointLoadOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<PowerPointPresentation>

Asynchronously loads a presentation from a caller-owned stream.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointLoadOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
LoadEncrypted 4 overloads
public static PowerPointPresentation LoadEncrypted(String filePath, String password, PowerPointLoadOptions options = null) #
Returns: PowerPointPresentation

Loads a password-encrypted presentation into detached memory.

Parameters

filePath System.String requiredposition: 0
password System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointLoadOptions = null optionalposition: 2
public static PowerPointPresentation LoadEncrypted(String filePath, String password, PowerPointLoadOptions options, CancellationToken cancellationToken) #
Returns: PowerPointPresentation

Loads a password-encrypted presentation into detached memory with cancellation.

Parameters

filePath System.String requiredposition: 0
password System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointLoadOptions requiredposition: 2
cancellationToken System.Threading.CancellationToken requiredposition: 3
public static PowerPointPresentation LoadEncrypted(Stream stream, String password, PowerPointLoadOptions options = null) #
Returns: PowerPointPresentation

Loads a password-encrypted presentation stream into detached memory.

Parameters

stream System.IO.Stream requiredposition: 0
password System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointLoadOptions = null optionalposition: 2
public static PowerPointPresentation LoadEncrypted(Stream stream, String password, PowerPointLoadOptions options, CancellationToken cancellationToken) #
Returns: PowerPointPresentation

Loads a password-encrypted presentation stream into detached memory with cancellation.

Parameters

stream System.IO.Stream requiredposition: 0
password System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointLoadOptions requiredposition: 2
cancellationToken System.Threading.CancellationToken requiredposition: 3
LoadEncryptedAsync 2 overloads
public static async Task<PowerPointPresentation> LoadEncryptedAsync(String filePath, String password, PowerPointLoadOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<PowerPointPresentation>

Asynchronously loads a password-encrypted presentation into detached memory.

Parameters

filePath System.String requiredposition: 0
password System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointLoadOptions = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
public static async Task<PowerPointPresentation> LoadEncryptedAsync(Stream stream, String password, PowerPointLoadOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<PowerPointPresentation>

Asynchronously loads a password-encrypted presentation stream into detached memory.

Parameters

stream System.IO.Stream requiredposition: 0
password System.String requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointLoadOptions = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
LoadLegacyPpt 2 overloads
public static PowerPointPresentation LoadLegacyPpt(String path, LegacyPptImportOptions options = null) #
Returns: PowerPointPresentation

Loads a binary `.ppt`, `.pot`, or `.pps` file into the normal editable PowerPoint model.

Parameters

path System.String requiredposition: 0
options OfficeIMO.PowerPoint.LegacyPpt.LegacyPptImportOptions = null optionalposition: 1
public static PowerPointPresentation LoadLegacyPpt(Stream stream, LegacyPptImportOptions options = null) #
Returns: PowerPointPresentation

Loads a binary PowerPoint stream into the normal editable PowerPoint model.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.PowerPoint.LegacyPpt.LegacyPptImportOptions = null optionalposition: 1
LoadLegacyPptWithReport 2 overloads
public static LegacyPptLoadResult LoadLegacyPptWithReport(String path, LegacyPptImportOptions options = null) #
Returns: LegacyPptLoadResult

Loads a binary PowerPoint file and returns its projected presentation and import report.

Parameters

path System.String requiredposition: 0
options OfficeIMO.PowerPoint.LegacyPpt.LegacyPptImportOptions = null optionalposition: 1
public static LegacyPptLoadResult LoadLegacyPptWithReport(Stream stream, LegacyPptImportOptions options = null) #
Returns: LegacyPptLoadResult

Loads a binary PowerPoint stream and returns its projected presentation and import report.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.PowerPoint.LegacyPpt.LegacyPptImportOptions = null optionalposition: 1
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.
public Void OpenInApplication(String filePath = null) #
Returns: Void

Opens the associated presentation in the operating system's registered application.

Parameters

filePath System.String = null optionalposition: 0
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 Boolean RemoveCustomShow(PowerPointCustomShow customShow) #
Returns: Boolean

Removes a custom show and actions that target its identifier.

Parameters

customShow OfficeIMO.PowerPoint.PowerPointCustomShow requiredposition: 0
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 RemoveVbaProject() #
Returns: Boolean

Removes the embedded VBA project and its related signature or cache parts.

public PowerPointCustomShow RenameCustomShow(PowerPointCustomShow customShow, String name) #
Returns: PowerPointCustomShow

Renames a custom show while preserving its identifier and linked actions.

Parameters

customShow OfficeIMO.PowerPoint.PowerPointCustomShow requiredposition: 0
name System.String requiredposition: 1
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 5 overloads
public Void Save() #
Returns: Void

Saves all pending changes to the associated file or stream.

public Void Save(String filePath) #
Returns: Void

Saves the presentation to a file and associates that path with subsequent Save calls.

Parameters

filePath System.String requiredposition: 0
public Void Save(String filePath, PowerPointSaveOptions options) #
Returns: Void

Saves to a file with an explicit conversion-loss policy.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointSaveOptions requiredposition: 1
public Void Save(Stream destination) #
Returns: Void

Saves a macro-free PPTX to the provided stream without changing its associated destination. Use the overload accepting PowerPointFileFormat with Pptm to retain VBA.

Parameters

destination System.IO.Stream requiredposition: 0
public Void Save(Stream destination, PowerPointFileFormat format, PowerPointSaveOptions options = null) #
Returns: Void

Saves to a stream using an explicit physical PowerPoint format.

Parameters

destination System.IO.Stream requiredposition: 0
format OfficeIMO.PowerPoint.PowerPointFileFormat requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointSaveOptions = null optionalposition: 2
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
SaveAsImagesAsync 2 overloads
public Task<IReadOnlyList<OfficeImageExportResult>> SaveAsImagesAsync(String folderPath, PowerPointPresentationImageExportOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<IReadOnlyList<OfficeImageExportResult>>

Asynchronously saves visible presentation slides as PNG files in a folder.

Parameters

folderPath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointPresentationImageExportOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public Task<IReadOnlyList<OfficeImageExportResult>> SaveAsImagesAsync(String folderPath, OfficeImageExportFormat format, PowerPointPresentationImageExportOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task<IReadOnlyList<OfficeImageExportResult>>

Asynchronously 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
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
SaveAsync 5 overloads
public Task SaveAsync(CancellationToken cancellationToken = null) #
Returns: Task

Asynchronously saves to the associated file or stream.

Parameters

cancellationToken System.Threading.CancellationToken = null optionalposition: 0
public Task SaveAsync(String filePath, CancellationToken cancellationToken = null) #
Returns: Task

Asynchronously saves to a file and associates it with subsequent saves.

Parameters

filePath System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task SaveAsync(String filePath, PowerPointSaveOptions options, CancellationToken cancellationToken = null) #
Returns: Task

Asynchronously saves to a file with an explicit conversion-loss policy.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointSaveOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public async Task SaveAsync(Stream destination, CancellationToken cancellationToken = null) #
Returns: Task

Asynchronously saves a macro-free PPTX to a caller-owned stream without changing the associated destination. Use the overload accepting PowerPointFileFormat with Pptm to retain VBA.

Parameters

destination System.IO.Stream requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task SaveAsync(Stream destination, PowerPointFileFormat format, PowerPointSaveOptions options = null, CancellationToken cancellationToken = null) #
Returns: Task

Asynchronously saves once to a stream using an explicit physical PowerPoint format.

Parameters

destination System.IO.Stream requiredposition: 0
format OfficeIMO.PowerPoint.PowerPointFileFormat requiredposition: 1
options OfficeIMO.PowerPoint.PowerPointSaveOptions = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
SaveCopy 2 overloads
public Void SaveCopy(String filePath) #
Returns: Void

Saves an independent copy without changing the presentation's associated destination.

Parameters

filePath System.String requiredposition: 0
public Void SaveCopy(String filePath, PowerPointSaveOptions options) #
Returns: Void

Saves an independent copy with an explicit conversion-loss policy.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointSaveOptions requiredposition: 1
SaveCopyAsync 2 overloads
public Task SaveCopyAsync(String filePath, CancellationToken cancellationToken = null) #
Returns: Task

Asynchronously saves an independent copy without changing the presentation's associated destination.

Parameters

filePath System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task SaveCopyAsync(String filePath, PowerPointSaveOptions options, CancellationToken cancellationToken = null) #
Returns: Task

Asynchronously saves an independent copy with an explicit conversion-loss policy.

Parameters

filePath System.String requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointSaveOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
SaveEncrypted 4 overloads
public Void SaveEncrypted(String filePath, String password) #
Returns: Void

Saves the presentation with password-to-open encryption. PPT/POT/PPS paths use legacy RC4 CryptoAPI for compatibility; Open XML paths use modern package encryption.

Parameters

filePath System.String requiredposition: 0
Destination path for the encrypted presentation.
password System.String requiredposition: 1
Password used to encrypt the presentation package.
public Void SaveEncrypted(String filePath, String password, PowerPointSaveOptions options) #
Returns: Void

Saves the presentation with password-to-open encryption and explicit binary conversion or RC4 settings.

Parameters

filePath System.String requiredposition: 0
Destination path for the encrypted presentation.
password System.String requiredposition: 1
Password used to encrypt the presentation package.
options OfficeIMO.PowerPoint.PowerPointSaveOptions requiredposition: 2
Binary conversion and RC4 key-size options.
public Void SaveEncrypted(Stream destination, String password) #
Returns: Void

Saves the presentation with password-to-open encryption to a stream. A presentation loaded from PPT/POT/PPS retains its binary physical format; other presentations use a macro-free PPTX package. Use the overload accepting PowerPointFileFormat with Pptm to retain VBA.

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.
public Void SaveEncrypted(Stream destination, String password, PowerPointFileFormat format, PowerPointSaveOptions options = null) #
Returns: Void

Saves a password-encrypted presentation using an explicit physical format.

Parameters

destination System.IO.Stream requiredposition: 0
Writable destination stream.
password System.String requiredposition: 1
Password used to encrypt the presentation.
format OfficeIMO.PowerPoint.PowerPointFileFormat requiredposition: 2
Physical PowerPoint format to write.
options OfficeIMO.PowerPoint.PowerPointSaveOptions = null optionalposition: 3
Binary conversion and RC4 key-size options.
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, PowerPointPlaceholderType 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 OfficeIMO.PowerPoint.PowerPointPlaceholderType 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, PowerPointPlaceholderType 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 OfficeIMO.PowerPoint.PowerPointPlaceholderType 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, PowerPointPlaceholderType 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 OfficeIMO.PowerPoint.PowerPointPlaceholderType 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, PowerPointPlaceholderType 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 OfficeIMO.PowerPoint.PowerPointPlaceholderType 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, PowerPointPlaceholderType placeholderType, PowerPointTextStyle style, Nullable<UInt32> index = null, Nullable<Int32> level = null, Nullable<Char> bulletChar = null, Nullable<PowerPointNumberingScheme> 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 OfficeIMO.PowerPoint.PowerPointPlaceholderType 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{OfficeIMO.PowerPoint.PowerPointNumberingScheme} = 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
SetVbaProject 2 overloads
public Void SetVbaProject(Stream project, Int64 maximumBytes = 67108864) #
Returns: Void

Adds or replaces the embedded VBA project from a complete, valid compound storage.

Parameters

project System.IO.Stream requiredposition: 0
maximumBytes System.Int64 = 67108864 optionalposition: 1
public Void SetVbaProject(Byte[] project, Int64 maximumBytes = 67108864) #
Returns: Void

Adds or replaces the embedded VBA project from a complete, valid compound storage.

Parameters

project System.Byte[] requiredposition: 0
maximumBytes System.Int64 = 67108864 optionalposition: 1
public static OfficePackageSigningResult SignPackageSignature(String filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficePackageSigningOptions options = null) #
Returns: OfficePackageSigningResult

Creates and validates an OPC signature in a saved PPTX/PPTM package.

Parameters

filePath System.String requiredposition: 0
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 1
signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 2
options OfficeIMO.Security.OfficePackageSigningOptions = null optionalposition: 3
public static OfficeVbaSigningResult SignVbaProject(String filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficeVbaSigningOptions options = null, IEnumerable<X509Certificate2> certificateChain = null) #
Returns: OfficeVbaSigningResult

Creates and atomically validates legacy, agile, and V3 VBA signatures.

Parameters

filePath System.String requiredposition: 0
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 1
signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 2
options OfficeIMO.Security.OfficeVbaSigningOptions = null optionalposition: 3
certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null optionalposition: 4
ToBytes 2 overloads
public Byte[] ToBytes() #
Returns: Byte[]

Encodes the presentation as a macro-free PPTX package. Use PowerPointSaveOptions) with Pptm to retain VBA.

public Byte[] ToBytes(PowerPointFileFormat format, PowerPointSaveOptions options = null) #
Returns: Byte[]

Encodes the presentation in the requested PowerPoint format.

Parameters

format OfficeIMO.PowerPoint.PowerPointFileFormat requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointSaveOptions = null optionalposition: 1
public Byte[] ToEncryptedBytes(String password, PowerPointFileFormat format = Pptx, PowerPointSaveOptions options = null) #
Returns: Byte[]

Encodes a password-encrypted presentation in the requested physical format.

Parameters

password System.String requiredposition: 0
Password used to encrypt the presentation.
format OfficeIMO.PowerPoint.PowerPointFileFormat = Pptx optionalposition: 1
Physical PowerPoint format to encode.
options OfficeIMO.PowerPoint.PowerPointSaveOptions = null optionalposition: 2
Binary conversion and RC4 key-size options.

Returns

The complete encrypted package bytes.

ToImages 2 overloads
public PowerPointPresentationImageExportBuilder ToImages() #
Returns: PowerPointPresentationImageExportBuilder

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

public PowerPointPresentationImageExportBuilder ToImages(PowerPointPresentationImageExportOptions options) #
Returns: PowerPointPresentationImageExportBuilder

Starts a fluent batch export using a cloned options snapshot.

Parameters

options OfficeIMO.PowerPoint.PowerPointPresentationImageExportOptions requiredposition: 0
ToStream 2 overloads
public MemoryStream ToStream() #
Returns: MemoryStream

Encodes the presentation as a macro-free PPTX in a new writable memory stream positioned at the beginning. Use PowerPointSaveOptions) with Pptm to retain VBA.

public MemoryStream ToStream(PowerPointFileFormat format, PowerPointSaveOptions options = null) #
Returns: MemoryStream

Encodes the presentation in a new stream using the requested format.

Parameters

format OfficeIMO.PowerPoint.PowerPointFileFormat requiredposition: 0
options OfficeIMO.PowerPoint.PowerPointSaveOptions = null optionalposition: 1
public Boolean TryGetCompatibilitySourcePayload(out OfficeCompatibilitySourcePayload payload, out String error) #
Returns: Boolean

Tries to read an original source retained by a compatibility conversion.

Parameters

payload OfficeIMO.OfficeCompatibilitySourcePayload@ requiredposition: 0
error System.String@ requiredposition: 1
public static OfficePackageSigningResult TrySignPackageSignature(String filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficePackageSigningOptions options = null) #
Returns: OfficePackageSigningResult

Attempts OPC signature creation without throwing for an ordinary signing failure.

Parameters

filePath System.String requiredposition: 0
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 1
signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 2
options OfficeIMO.Security.OfficePackageSigningOptions = null optionalposition: 3
public static OfficeVbaSigningResult TrySignVbaProject(String filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficeVbaSigningOptions options = null, IEnumerable<X509Certificate2> certificateChain = null) #
Returns: OfficeVbaSigningResult

Attempts atomic VBA signing and returns structured failure evidence.

Parameters

filePath System.String requiredposition: 0
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 1
signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 2
options OfficeIMO.Security.OfficeVbaSigningOptions = null optionalposition: 3
certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null optionalposition: 4
public List<OfficeOpenXmlValidationError> ValidateDocument(OfficeOpenXmlFileFormatVersion fileFormatVersion = Microsoft365) #
Returns: List<OfficeOpenXmlValidationError>

Validates the presentation using the specified file format version.

Parameters

fileFormatVersion OfficeIMO.OfficeOpenXmlFileFormatVersion = 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
    }
}
            
public static OfficePackageSignatureValidationReport ValidatePackageSignatures(String filePath, IOfficeSecurityProvider securityProvider, OfficePackageSignatureValidationOptions options = null) #
Returns: OfficePackageSignatureValidationReport

Validates a saved PPTX/PPTM package through an explicitly supplied security provider.

Parameters

filePath System.String requiredposition: 0
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 1
options OfficeIMO.Security.OfficePackageSignatureValidationOptions = null optionalposition: 2
public static OfficeVbaSignatureValidationResult ValidateVbaSignatures(String filePath, IOfficeSecurityProvider securityProvider, OfficeVbaSignatureInspectionOptions options = null) #
Returns: OfficeVbaSignatureValidationResult

Validates VBA CMS, trust, timestamp, and Office SIP content binding.

Parameters

filePath System.String requiredposition: 0
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 1
options OfficeIMO.Security.OfficeVbaSignatureInspectionOptions = null optionalposition: 2

Properties

public IReadOnlyList<PowerPointCustomShow> CustomShows { get; } #

Gets the custom shows in package order.

public String FilePath { get; } #

Gets the destination path associated with the presentation, if any.

public PresentationDocument OpenXmlDocument { get; } #

Gets the underlying Open XML package for advanced integration scenarios.

public DocumentPersistenceMode PersistenceMode { get; } #

Gets the configured persistence behavior.

public DocumentAccessMode AccessMode { get; } #

Gets whether the presentation is editable or read-only.

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 PowerPointFileFormat SourceFormat { get; set; } #

Gets the detected physical format of the presentation source.

public OfficeFormatDescriptor SourceFormatDescriptor { get; } #

Gets the concrete source format, including modern template, slideshow, add-in, and macro variants.

public String SourcePath { get; } #

Gets the original legacy source path, or the current Open XML file association.

public IReadOnlyList<LegacyPptImportDiagnostic> LegacyPptImportDiagnostics { get; } #

Gets diagnostics produced while importing a legacy binary presentation.

public Boolean HasVbaProject { get; } #

Gets whether the presentation contains a VBA project.

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<OfficeOpenXmlValidationError> 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 OfficeSignatureMutationPolicy SignatureMutationPolicy { get; set; } #

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

Fields

public const Int64 DefaultMaximumVbaProjectBytes #

Default maximum VBA project size accepted by the public mutation API.

Value: 67108864

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