Unchained.Pptx 0.1.0-rc.4

This is a prerelease version of Unchained.Pptx.
dotnet add package Unchained.Pptx --version 0.1.0-rc.4
                    
NuGet\Install-Package Unchained.Pptx -Version 0.1.0-rc.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Unchained.Pptx" Version="0.1.0-rc.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Unchained.Pptx" Version="0.1.0-rc.4" />
                    
Directory.Packages.props
<PackageReference Include="Unchained.Pptx" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Unchained.Pptx --version 0.1.0-rc.4
                    
#r "nuget: Unchained.Pptx, 0.1.0-rc.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Unchained.Pptx@0.1.0-rc.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Unchained.Pptx&version=0.1.0-rc.4&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Unchained.Pptx&version=0.1.0-rc.4&prerelease
                    
Install as a Cake Tool

Unchained.Pptx

Free, MIT-licensed .NET library for reading, writing, and exporting PowerPoint (PPTX) presentations. Its core is implemented directly against ECMA-376 (OpenXML); all dependencies are permissively licensed (no GPL/LGPL), async-first API.

Installation

<PackageReference Include="Unchained.Pptx" />

For slide rendering (PNG/JPEG output):

<PackageReference Include="Unchained.Pptx.Rendering" />

Quick start

using Unchained.Pptx.Engine;
using Unchained.Pptx.Models;

var processor = new PresentationProcessor();

// Load
var doc = await processor.LoadAsync("presentation.pptx");

// Read slides
foreach (var slide in doc.Slides)
    Console.WriteLine(slide.GetAllText());

// Add a slide with a text box
using Unchained.Ooxml;
using Unchained.Pptx.Models.Shapes;

var layout = doc.Masters[0].Layouts[0];
var newSlide = doc.Slides.AddBlank(layout);
newSlide.Shapes.AddTextBox(
    Emu.FromInches(1), Emu.FromInches(1),
    Emu.FromInches(8), Emu.FromInches(2),
    "Hello, Unchained!");

// Save
await processor.SaveAsync(doc, "output.pptx");

// Export to PDF
await processor.SaveAsPdfAsync(doc, "output.pdf");

// Export to SVG (one per slide)
var svgs = await processor.ExportAsSvgAsync(doc);

// Export to HTML (one file per slide)
await processor.SaveAsHtmlAsync(doc, "html-output/");

Features

  • Full PPTX round-trip — load, modify, save without data loss
  • Slides — add, remove, reorder, hide; clone slides
  • Shapes — AutoShape, TextBox, Picture, Table, Chart, Connector, Group, OLE, SmartArt
  • Text — paragraphs, runs, font formatting, bullets, alignment
  • Charts — 27 chart types with data editing
  • Animations — entrance/exit/emphasis effects, transitions (33 types)
  • Themes — masters, layouts, color schemes, font schemes
  • Notes — speaker notes read/write
  • Comments — add/remove/read slide comments
  • Sections — PowerPoint 2010+ section grouping
  • Security — AES-256 OOXML encryption + write protection
  • Exports — PDF 1.7, HTML5, SVG

Encryption

// Save encrypted
await processor.SaveAsync(doc, "secret.pptx",
    new SaveOptions { Password = "correct-horse-battery-staple" });

// Load encrypted
var doc = await processor.LoadAsync("secret.pptx",
    new OpenOptions { Password = "correct-horse-battery-staple" });

Targets

net8.0 · net9.0 · net10.0

License

MIT — no commercial restrictions, no AGPL, no paid tier.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Unchained.Pptx:

Package Downloads
Unchained.Pptx.Rendering

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-rc.4 40 6/20/2026