# C# .NET PowerPoint Processing API | Aspose.Slides

> Aspose.Slides for .NET is a C# PowerPoint API for creating, editing, converting, and processing presentations programmatically.

Source: https://products.aspose.com/slides/net/
Updated: 2026-08-28



| Label | Install |
|---|---|
| CLI | dotnet add package Aspose.Slides.NET |
| Console | Install-Package Aspose.Slides.NET |
| Assembly | Aspose.Slides.dll |

| Figure | Caption |
|---|---|
| 189 / 82 | Shape types and chart types, each a real object that PowerPoint still recognises and lets a person edit. |
| 13 → 12 | Presentation formats read and written, including the pre-2007 binary `.ppt` container and OpenDocument `.odp`, plus 9 further export targets. |
| 1 | NuGet package. No native prerequisites to install alongside it. |
| 0 | Microsoft Office installs, GDI dependencies and X displays needed. A small Linux container is enough. |

## Five things people actually write

| Task | Hint | Flow | Note | Docs |
|---|---|---|---|---|
| Convert | One load, many output formats | PPTX → PDF / HTML / TIFF | The rendering engine ships with the library. | https://docs.aspose.com/slides/net/convert-powerpoint-ppt-and-pptx/ |
| Slide thumbnails | Images for a viewer or an index | PPTX → PNG | The scale factor controls output resolution. | https://docs.aspose.com/slides/net/create-slides-thumbnail-images/ |
| Charts from data | A real chart, still editable in PowerPoint | DATA → PPTX | Chart data lives in an embedded workbook. 82 chart types. | https://docs.aspose.com/slides/net/create-chart/ |
| Protect | Encrypt the deck and the PDF you hand out | PPTX → ENCRYPTED PPTX / PDF | The password applies to the deck and to the export. | https://docs.aspose.com/slides/net/password-protected-presentation/ |
| Merge | Clone slides between decks, layouts intact | PPTX + PPTX → PPTX | Layouts and masters travel with the cloned slide. | https://docs.aspose.com/slides/net/clone-slides/ |

```
using Aspose.Slides;
using Aspose.Slides.Export;

using var presentation = new Presentation("quarterly-review.pptx");

presentation.Save("review.pdf", SaveFormat.Pdf);
presentation.Save("review.html", SaveFormat.Html);
presentation.Save("review.tiff", SaveFormat.Tiff);
```

```
using var presentation = new Presentation("deck.pptx");

foreach (var slide in presentation.Slides)
{
    using var image = slide.GetImage(2f, 2f);
    image.Save($"slide-{slide.SlideNumber}.png", ImageFormat.Png);
}
```

```
using Aspose.Slides.Charts;

using var presentation = new Presentation();
var slide = presentation.Slides[0];

var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 60, 60, 620, 400);
var cells = chart.ChartData.ChartDataWorkbook;

chart.ChartData.Categories.Add(cells.GetCell(0, 1, 0, "Q1"));
chart.ChartData.Categories.Add(cells.GetCell(0, 2, 0, "Q2"));
chart.ChartData.Series.Add(cells.GetCell(0, 0, 1, "Revenue"), chart.Type);

presentation.Save("report.pptx", SaveFormat.Pptx);
```

```
using var presentation = new Presentation("board-deck.pptx");

presentation.ProtectionManager.Encrypt("s3cret");

var options = new PdfOptions { Password = "s3cret" };
presentation.Save("board-deck.pdf", SaveFormat.Pdf, options);
```

```
using var target = new Presentation("master.pptx");
using var source = new Presentation("appendix.pptx");

foreach (var slide in source.Slides)
    target.Slides.AddClone(slide);

target.Save("combined.pptx", SaveFormat.Pptx);
```

## Browse by operation

| Operation | Href | Note | Language | Icon |
|---|---|---|---|---|
| Conversion | /slides/net/conversion/ | Convert between presentation, document and image formats. | C# | conversion |
| Merger | /slides/net/merger/ | Combine several presentations, documents or images into one file. | C# | merger |
| Editor | /slides/net/editor/ | Open a file, change it and write it back, format by format. | C# | editor |
| Viewer | /slides/net/viewer/ | Open a presentation and render it for viewing. | C# | viewer |
| Parser | /slides/net/parser/ | Extract text, images, audio and video from a presentation. | C# | parser |
| Metadata | /slides/net/metadata/ | Read and write presentation document properties. | C# | metadata |
| Watermark | /slides/net/watermark/ | Add a text or image watermark. | C# | watermark |
| Protect | /slides/net/protect/ | Password-protect a presentation. | C# | protect |
| Unlock | /slides/net/unlock/ | Remove password protection. | C# | unlock |
| Redaction | /slides/net/redaction/ | Find and replace sensitive text. | C# | redaction |
| Search | /slides/net/search/ | Find text across the slides of a presentation. | C# | search |
| Annotation | /slides/net/annotation/ | Remove comments and annotations. | C# | annotation |
| Chart | /slides/net/chart/ | Create and edit charts on slides. | C# | chart |

## What goes in, what comes out

- **Read and written** (presentation files, proven by writing each one and reading it back) — FODP, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX
- **Read only** (no writer in the API) — PPT95
- **Written only** (export targets, not presentation files) — GIF, HTML, HTML5, MD, PDF, SWF, TIFF, XML, XPS
- **Slide images** (rendered from a slide) — BMP, EMF, GIF, JPEG, PNG, SVG, TIFF
- **Other content read in** (placed into a presentation rather than opened as one) — HTML, PDF, raster image

Read from the shipping package on 2026-08-21 by writing each file out and reading it back in.

## Capabilities, one line each

## Runs where your code already runs

| Runtime | Note | Platforms |
|---|---|---|
| .NET Framework | Classic desktop, ASP.NET and Windows service workloads. | WINDOWS |
| .NET Core and .NET 5+ | Cross-platform applications, containers and cloud functions. | WINDOWS · LINUX · MACOS |
| Mono | Supported for non-Windows runtimes where Mono hosts the application. | LINUX · MACOS |
| Xamarin.Android | Presentation handling inside mobile applications. | ANDROID |
| COM interop | Callable from PHP, VBScript, Delphi and C++ on Windows. | WINDOWS |

## Start with the trial, license when you ship

The trial is the full API. It applies an evaluation watermark when a presentation is opened or saved and replaces extracted text with an evaluation notice, so you can test the formats you actually care about before you talk to anyone. A temporary licence lifts both for 30 days.

## If you don't want a library

Aspose.Slides Cloud is a hosted REST API for loading, creating, editing and converting presentations.

- [cURL](https://products.aspose.cloud/slides/curl/)
- [.NET SDK](https://products.aspose.cloud/slides/net/)
- [Java SDK](https://products.aspose.cloud/slides/java/)
- [All low-code APIs →](https://products.aspose.cloud/slides/family/)

## No-code apps

- [Viewer](https://products.aspose.app/slides/viewer)
- [Conversion](https://products.aspose.app/slides/conversion)
- [Annotation](https://products.aspose.app/slides/annotation)
- [All apps →](https://products.aspose.app/slides/family)

## Resources

- [Documentation](https://docs.aspose.com/slides/net/)
- [API reference](https://reference.aspose.com/slides/net/)
- [Support forum](https://forum.aspose.com/c/slides/)
- [Installation](https://docs.aspose.com/slides/net/installation/)

## In use

The product worked as advertised, the documentation was easy to follow, and the support forums were all the help we needed. The final solution that we deployed has exceeded our initial expectations by a great deal.

— BRUCE BRIEN · STRATASCOPE INC, USA
