Slide Element Tutorial

IronPPT is a robust PowerPoint library designed to help .NET C# developers seamlessly integrate the ability to create, read, and edit PowerPoint presentations into their applications. In the context of a PowerPoint presentation, slides are the foundational elements that structure and organize the content.

Table of Contents

Get started with IronPPT

Start using IronPPT in your project today with a free trial.

First Step:
green arrow pointer


Add Text

Text Content

Whether you're creating a new presentation or editing an existing one, text management tools give you full control over text placement and formatting, allowing you to design slides that convey your message clearly and professionally.

:path=/static-assets/ppt/content-code-examples/tutorials/slide-element-add-text.cs
using IronPPT;
using IronPPT.Models;

// Create a new PowerPoint presentation
var document = new PresentationDocument();

// Ensure there is at least one slide to work with
if (document.Slides.Count == 0)
{
    document.Slides.Add(new Slide());
}

// Add text to the first slide
var text = document.Slides[0].AddText("Hello");

// Append text to the existing text on the slide
text.Content += " There!";

// Check if there is any text element to remove from the first slide
if (document.Slides[0].Texts.Count > 0)
{
    document.Slides[0].Texts[0].Remove();
}

// Export the PowerPoint presentation with the specified file name
document.Save("addText.pptx");
Imports IronPPT
Imports IronPPT.Models

' Create a new PowerPoint presentation
Private document = New PresentationDocument()

' Ensure there is at least one slide to work with
If document.Slides.Count = 0 Then
	document.Slides.Add(New Slide())
End If

' Add text to the first slide
Dim text = document.Slides(0).AddText("Hello")

' Append text to the existing text on the slide
text.Content &= " There!"

' Check if there is any text element to remove from the first slide
If document.Slides(0).Texts.Count > 0 Then
	document.Slides(0).Texts(0).Remove()
End If

' Export the PowerPoint presentation with the specified file name
document.Save("addText.pptx")
$vbLabelText   $csharpLabel

Set Styling

Styling text enables you to customize its visual appearance by defining attributes like font size, color, style, strikethrough, and underline. Applying these styles enhances the text's presentation and improves the overall look of the document.

:path=/static-assets/ppt/content-code-examples/tutorials/slide-element-text-style.cs
using IronPPT;
using IronPPT.Models; // Ensure the library is available

// Create a new presentation document
var document = new PresentationDocument();

// Define and customize the text style
var textStyle = new TextStyle
{
    IsBold = true,                      // Text is bold
    IsItalic = true,                    // Text is italic
    Color = Color.Blue,                 // Text color is blue
    Strike = StrikeValue.SingleStrike,  // Text is single struck-off
    Outline = true,                     // Text has an outline
    NoProof = true,                     // Disables proofing for the text
    Spacing = 10.0,                     // Text spacing is set to 10
    Underline = new Underline 
    {
        LineValue = UnderlineValues.Single,   // Single underline
        Color = Color.Red                     // Underline color is red
    },
    Languages = "en-US",               // Text language is set to U.S. English
    SpecVanish = false,                // Text does not vanish when special formatting is applied
};

// Create text content and apply the defined style
var text = new Text("Hello World");   // Instantiate text with a string
text.TextStyle = textStyle;           // Apply the defined style to the text

// Add a new slide if none exist
if (document.Slides.Count == 0)
{
    document.Slides.Add(new Slide());   // Add a new slide to the document
}

// Add the styled text to the first slide
document.Slides[0].AddText(text);      // Add the newly created text object to the first slide

// Save the presentation document to a file
document.Save("textStyle.pptx");        // Save the document with the filename "textStyle.pptx"
Imports IronPPT
Imports IronPPT.Models ' Ensure the library is available

' Create a new presentation document
Private document = New PresentationDocument()

' Define and customize the text style
Private textStyle = New TextStyle With {
	.IsBold = True,
	.IsItalic = True,
	.Color = Color.Blue,
	.Strike = StrikeValue.SingleStrike,
	.Outline = True,
	.NoProof = True,
	.Spacing = 10.0,
	.Underline = New Underline With {
		.LineValue = UnderlineValues.Single,
		.Color = Color.Red
	},
	.Languages = "en-US",
	.SpecVanish = False
}

' Create text content and apply the defined style
Private text = New Text("Hello World") ' Instantiate text with a string
text.TextStyle = textStyle ' Apply the defined style to the text

' Add a new slide if none exist
If document.Slides.Count = 0 Then
	document.Slides.Add(New Slide()) ' Add a new slide to the document
End If

' Add the styled text to the first slide
document.Slides(0).AddText(text) ' Add the newly created text object to the first slide

' Save the presentation document to a file
document.Save("textStyle.pptx") ' Save the document with the filename "textStyle.pptx"
$vbLabelText   $csharpLabel

Add Images

Adjust image settings for optimal display. Proper configuration ensures images are visually appealing and appropriately suited to their context.

:path=/static-assets/ppt/content-code-examples/tutorials/slide-element-add-image.cs
using IronPPT;
using IronPPT.Models;
using System.Drawing;

// This script demonstrates the creation of a PowerPoint presentation using the IronPPT library.
// An image is added to the presentation, its properties are modified, and then the presentation is saved.

// Create a new PowerPoint presentation
var document = new PresentationDocument();

// Create a new Image object and load an image file.
var image = new Image();
image.LoadFromFile("sample.png");

// Add the image to the first slide (index 0) of the presentation.
var newImage = document.AddImage(image, 0);

// Set the properties of the added image.
// Position property is set using a Point object, which holds X and Y coordinates.
newImage.Position = new Point(200, 200); // Set image position on the slide
newImage.Angle = 45; // Set the rotation angle of the image
newImage.Name = "new image"; // Assign a descriptive name to the image
newImage.Width = 150; // Set the width of the image in pixels
newImage.Height = 150; // Set the height of the image in pixels

// Export the PowerPoint presentation to a file named "addImage.pptx"
document.Save("addImage.pptx");
Imports IronPPT
Imports IronPPT.Models
Imports System.Drawing

' This script demonstrates the creation of a PowerPoint presentation using the IronPPT library.
' An image is added to the presentation, its properties are modified, and then the presentation is saved.

' Create a new PowerPoint presentation
Private document = New PresentationDocument()

' Create a new Image object and load an image file.
Private image = New Image()
image.LoadFromFile("sample.png")

' Add the image to the first slide (index 0) of the presentation.
Dim newImage = document.AddImage(image, 0)

' Set the properties of the added image.
' Position property is set using a Point object, which holds X and Y coordinates.
newImage.Position = New Point(200, 200) ' Set image position on the slide
newImage.Angle = 45 ' Set the rotation angle of the image
newImage.Name = "new image" ' Assign a descriptive name to the image
newImage.Width = 150 ' Set the width of the image in pixels
newImage.Height = 150 ' Set the height of the image in pixels

' Export the PowerPoint presentation to a file named "addImage.pptx"
document.Save("addImage.pptx")
$vbLabelText   $csharpLabel

Add Shapes

Easily add and customize shapes in your presentation by defining their type, dimensions (width and height), fill and outline colors, and position on the slide.

:path=/static-assets/ppt/content-code-examples/tutorials/slide-element-add-shape.cs
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;

// Load a PowerPoint presentation.
// The PresentationDocument is assumed to represent an entire PPTX file loaded from disk.
var document = new PresentationDocument("output.pptx");

// Configure a new shape.
// Shape is assumed to be a model object representing drawable elements on a slide.
Shape shape = new Shape
{
    Name = "triangle",
    Type = ShapeType.Triangle,
    Width = 100,
    FillColor = new Color("#444444"),
    OutlineColor = Color.Black,

    // Position is set via assumed X and Y positioning properties.
    // It's important that these properties are set to valid coordinates for display on the slide.
    XPosition = 200,
    YPosition = 200
};

// Add the shape to the first slide in the presentation.
// Slides[0] refers to the first slide in the collection. Ensure a slide exists at this index.
document.Slides[0].AddShape(shape);

// Export the modified PowerPoint presentation.
// Saves the changes to a new file, ensuring the original presentation is not overwritten.
document.Save("addShape.pptx");
Imports IronPPT
Imports IronPPT.Models
Imports IronPPT.Enums

' Load a PowerPoint presentation.
' The PresentationDocument is assumed to represent an entire PPTX file loaded from disk.
Private document = New PresentationDocument("output.pptx")

' Configure a new shape.
' Shape is assumed to be a model object representing drawable elements on a slide.
Private shape As New Shape With {
	.Name = "triangle",
	.Type = ShapeType.Triangle,
	.Width = 100,
	.FillColor = New Color("#444444"),
	.OutlineColor = Color.Black,
	.XPosition = 200,
	.YPosition = 200
}

' Add the shape to the first slide in the presentation.
' Slides[0] refers to the first slide in the collection. Ensure a slide exists at this index.
document.Slides(0).AddShape(shape)

' Export the modified PowerPoint presentation.
' Saves the changes to a new file, ensuring the original presentation is not overwritten.
document.Save("addShape.pptx")
$vbLabelText   $csharpLabel
Chaknith Bin
Software Engineer
Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience.