Skip to footer content
USING IRONPPT

PowerPoint .NET Component (Code Example)

Delivering presentations is still a key part of how businesses share information—whether it’s for reports, pitch decks, client proposals, or training slides. As a .NET developer, you may eventually be tasked with generating or modifying PowerPoint presentations programmatically. This is where IronPPT, a powerful PowerPoint .NET library, comes in.

IronPPT is a robust .NET library designed specifically for working with PowerPoint (PPTX) files in C# and VB.NET. It offers a powerful alternative to Microsoft Office automation, allowing you to create, edit, convert, and extract content from slides—all without needing to require Microsoft PowerPoint installed.

In this guide, you’ll learn how IronPPT works, how to integrate it into your .NET applications, and where it excels in real-world use cases. Whether you’re building a reporting tool, automating the creation of PowerPoint documents, or looking for a tool to edit your existing presentations, IronPPT helps you do it cleanly and efficiently.

IronPPT - A .NET PowerPoint Library

PowerPoint .NET Component (Code Example): Figure 1 - IronPPT Add from PixabayUpload

or drag and drop an image here

Clear alt text

Let’s begin with a closer look at what IronPPT is and why it’s worth considering in your .NET projects:

What Is IronPPT?

IronPPT is a .NET PowerPoint library from Iron Software that allows developers to programmatically create and edit PowerPoint slide files without requiring Office or PowerPoint to be installed on the machine. It’s designed for use in web, desktop, and server environments, including Visual Studio solutions.

Why Use IronPPT in .NET Applications?

For .NET developers working on enterprise applications, reports, dashboards, or document automation, IronPPT offers a reliable and scalable solution to generate and manipulate PowerPoint elements dynamically. It’s ideal for cloud platforms like Azure or for any environment where Microsoft Office Interop isn’t practical or performant.

Getting Started with IronPPT in .NET

Before diving into code, here’s how to get IronPPT set up and ready to use:

Install via NuGet Package Manager

The easiest way to add IronPPT to your project is via NuGet. Just run:

Install-Package IronPPT
Install-Package IronPPT
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPPT
$vbLabelText   $csharpLabel

This installs all required dependencies and makes the library immediately available to your .NET application.

Supported Frameworks and Environments

IronPPT supports:

  • .NET Framework 4.6.2 and later
  • .NET Core 3.1
  • .NET 5, 6, 7, and 8
  • Compatible with Windows, Linux (via .NET Core), and Azure App Services

You can use it in desktop (WinForms/WPF), web (ASP.NET), or background services.

Core Capabilities of IronPPT for Developers

IronPPT includes a variety of features that make working with multiple PowerPoint presentations and editing PowerPoint more flexible and scalable in C#:

Programmatic Slide Creation

Easily create new slides with titles, subtitles, and layout configurations. This is ideal for auto-generating visual representation of content based on business logic or database input.

Content Editing and Layout Control

Modify existing slides by updating text, inserting pictures, or changing background colors. You can also rearrange slide order, duplicate slides, or remove them entirely.

Add Images and Shapes

Programmatically insert JPEG, PNG, logos, shapes, or chart images into slides—perfect for dynamic data visualization, rich media content for reporting.

Practical Code Examples with IronPPT

Now let’s look at some real code to see how these features work in practice:

Creating a PowerPoint Document from Scratch

using IronPPT;
var ppt = new PresentationDocument();
// Add Text to the new presentation
ppt.Slides[0].TextBoxes[0].AddText("Welcome to IronPPT");
ppt.Slides[0].TextBoxes[1].AddText("This slide was generated using IronPPT!");
// Save the presentation
ppt.Save("new_presentation.pptx");
using IronPPT;
var ppt = new PresentationDocument();
// Add Text to the new presentation
ppt.Slides[0].TextBoxes[0].AddText("Welcome to IronPPT");
ppt.Slides[0].TextBoxes[1].AddText("This slide was generated using IronPPT!");
// Save the presentation
ppt.Save("new_presentation.pptx");
Imports IronPPT
Private ppt = New PresentationDocument()
' Add Text to the new presentation
ppt.Slides(0).TextBoxes(0).AddText("Welcome to IronPPT")
ppt.Slides(0).TextBoxes(1).AddText("This slide was generated using IronPPT!")
' Save the presentation
ppt.Save("new_presentation.pptx")
$vbLabelText   $csharpLabel

Output

PowerPoint .NET Component (Code Example): Figure 2 - Creating a new presentation Add from PixabayUpload

or drag and drop an image here

Clear alt text

Editing an Existing PowerPoint File

using IronPPT;
// Load the existing pptx file
var ppt = new PresentationDocument("new_presentation.pptx");
// Edit the existing text
ppt.Slides[0].TextBoxes[0].Texts[0].Text = "Hello World!";
ppt.Save("updated.pptx");
using IronPPT;
// Load the existing pptx file
var ppt = new PresentationDocument("new_presentation.pptx");
// Edit the existing text
ppt.Slides[0].TextBoxes[0].Texts[0].Text = "Hello World!";
ppt.Save("updated.pptx");
Imports IronPPT
' Load the existing pptx file
Private ppt = New PresentationDocument("new_presentation.pptx")
' Edit the existing text
Private ppt.Slides(0).TextBoxes(0).Texts(0).Text = "Hello World!"
ppt.Save("updated.pptx")
$vbLabelText   $csharpLabel

Output

PowerPoint .NET Component (Code Example): Figure 3 - Edited presentation file Add from PixabayUpload

or drag and drop an image here

Clear alt text

Insert an Image into a Slide

using IronPPT;
using IronPPT.Models;
var ppt = new PresentationDocument("updated.pptx");
Image img = new Image();
img.LoadFromFile("IronPPT.png");
var newImg = ppt.AddImage(img, 0);
newImg.Position = (150, 50);
newImg.Width = 400;
newImg.Height = 150;
ppt.Save("image.pptx");
using IronPPT;
using IronPPT.Models;
var ppt = new PresentationDocument("updated.pptx");
Image img = new Image();
img.LoadFromFile("IronPPT.png");
var newImg = ppt.AddImage(img, 0);
newImg.Position = (150, 50);
newImg.Width = 400;
newImg.Height = 150;
ppt.Save("image.pptx");
Imports IronPPT
Imports IronPPT.Models
Private ppt = New PresentationDocument("updated.pptx")
Private img As New Image()
img.LoadFromFile("IronPPT.png")
Dim newImg = ppt.AddImage(img, 0)
newImg.Position = (150, 50)
newImg.Width = 400
newImg.Height = 150
ppt.Save("image.pptx")
$vbLabelText   $csharpLabel

Output

PowerPoint .NET Component (Code Example): Figure 4 - Presentation with an image added Add from PixabayUpload

or drag and drop an image here

Clear alt text

Add and Reorder Slides

First, we need to add some slides to our presentation, this is done with code such as the following code example.

using IronPPT;
using IronPPT.Models;
var ppt = new PresentationDocument("updated.pptx");
Slide slide = new Slide();
slide.AddText("Slide Two");
ppt.AddSlide(slide);
ppt.Save("updated.pptx");
using IronPPT;
using IronPPT.Models;
var ppt = new PresentationDocument("updated.pptx");
Slide slide = new Slide();
slide.AddText("Slide Two");
ppt.AddSlide(slide);
ppt.Save("updated.pptx");
Imports IronPPT
Imports IronPPT.Models
Private ppt = New PresentationDocument("updated.pptx")
Private slide As New Slide()
slide.AddText("Slide Two")
ppt.AddSlide(slide)
ppt.Save("updated.pptx")
$vbLabelText   $csharpLabel

Output

PowerPoint .NET Component (Code Example): Figure 5 - Presentation with multiple slides Add from PixabayUpload

or drag and drop an image here

Clear alt text

Now we have a presentation with multiple slides, now we can easily reorder these with this code:

using IronPPT;
IronPPT.License.LicenseKey = "IRONSUITE.WRITERS.21046-907F5E67CC-AHYQW6L-RCHLPMRJMU4G-SET72XAF2JNY-LQK45E5JPLGW-XOLPVBEBLHV7-2LHKZRWUZWMO-5LNIZSPF4BM6-UHUH4R-T4MMJ4MEIYSQEA-DEPLOYMENT.TRIAL-LDG2MK.TRIAL.EXPIRES.16.NOV.2025";
var ppt = new PresentationDocument("updated.pptx");
ppt.Slides[2].Index = 1;
ppt.Save("updated.pptx");
using IronPPT;
IronPPT.License.LicenseKey = "IRONSUITE.WRITERS.21046-907F5E67CC-AHYQW6L-RCHLPMRJMU4G-SET72XAF2JNY-LQK45E5JPLGW-XOLPVBEBLHV7-2LHKZRWUZWMO-5LNIZSPF4BM6-UHUH4R-T4MMJ4MEIYSQEA-DEPLOYMENT.TRIAL-LDG2MK.TRIAL.EXPIRES.16.NOV.2025";
var ppt = new PresentationDocument("updated.pptx");
ppt.Slides[2].Index = 1;
ppt.Save("updated.pptx");
Imports IronPPT
IronPPT.License.LicenseKey = "IRONSUITE.WRITERS.21046-907F5E67CC-AHYQW6L-RCHLPMRJMU4G-SET72XAF2JNY-LQK45E5JPLGW-XOLPVBEBLHV7-2LHKZRWUZWMO-5LNIZSPF4BM6-UHUH4R-T4MMJ4MEIYSQEA-DEPLOYMENT.TRIAL-LDG2MK.TRIAL.EXPIRES.16.NOV.2025"
Dim ppt = New PresentationDocument("updated.pptx")
ppt.Slides(2).Index = 1
ppt.Save("updated.pptx")
$vbLabelText   $csharpLabel

Output

PowerPoint .NET Component (Code Example): Figure 6 - Reordered slides Add from PixabayUpload

or drag and drop an image here

Clear alt text

Now the slide with the "Slide Two" text has been reordered into the proper position as the second slide in our presentation.

Common Use Cases for IronPPT in .NET Projects

IronPPT supports numerous real-world .NET needs:

  • Automated Business Reports

    Generate PowerPoint-based reports with PowerPoint tables, graphs, and analytics drawn from SQL or APIs.

  • Custom Presentation Builders

    Let users assemble multiple PowerPoint presentations from dynamic UI selections, server-side.

  • Education and Training Material

    Automatically write presentations for learning platforms, including animation effects and embedded media.

  • Marketing and Sales Kits

    Generate branded decks with pictures, video, and other file formats like HTML or Excel.

IronPPT vs. Microsoft Office Interop

FeatureIronPPTOffice Interop
Office installation needed
Server-friendly❌ (not supported reliably)
Cross-platform✅ (.NET Core & .NET 5+)❌ Windows-only
Performance & stability✅ Fast performance – no COM dependencies❌ Prone to COM errors
Licensing model✅ Developer-friendly license❌ Requires Office license

Final Thoughts on IronPPT for .NET Developers

IronPPT gives C# developers the ability to create, edit, convert, and automate PowerPoint documents—all without the bloat or fragility of COM-based solutions. From animation effects to embedded pictures, from PowerPoint tables to full visual representation of business logic, IronPPT delivers a developer-first API with fast performance and support for modern file formats.

Whether you're building training slides, dashboards, or marketing tools, IronPPT removes the need to require Microsoft PowerPoint or rely on Microsoft Office automation, making it perfect for scalable, server-side, or cross-platform development. Plus, it comes with responsive technical support to help you get the job done.

Download the free trial for IronPPT and see how seamlessly it integrates with your existing Visual Studio projects and broader .NET stack.

Regan Pun
Software Engineer
Regan graduated from the University of Reading, with a BA in Electronic Engineering. Before joining Iron Software, his previous job roles had him laser-focused on single tasks; and what he most enjoys at Iron Software is the spectrum of work he gets to undertake, whether it’s adding value to sales, technical support, product development or marketing. He enjoys understanding the way developers are using the Iron Software library, and using that knowledge to continually improve documentation and develop the products.
Talk to an Expert Five Star Trust Score Rating

Ready to Get Started?

Nuget Passed