Angri450.Nong.Pptx 3.0.2

dotnet add package Angri450.Nong.Pptx --version 3.0.2
                    
NuGet\Install-Package Angri450.Nong.Pptx -Version 3.0.2
                    
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="Angri450.Nong.Pptx" Version="3.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Angri450.Nong.Pptx" Version="3.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Angri450.Nong.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 Angri450.Nong.Pptx --version 3.0.2
                    
#r "nuget: Angri450.Nong.Pptx, 3.0.2"
                    
#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 Angri450.Nong.Pptx@3.0.2
                    
#: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=Angri450.Nong.Pptx&version=3.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Angri450.Nong.Pptx&version=3.0.2
                    
Install as a Cake Tool

Angri450.Nong.Pptx

Fluent PowerPoint builder for AI agents. 10 built-in themes, 6 layout types, CJK font support.

NuGet .NET

Supported Platforms

.NET 8.0 and above (net8.0, net9.0, net10.0, net11.0). Windows, macOS, Linux.

Install

dotnet add package Angri450.Nong.Pptx

Quick Start

using PptxCore;

SlideBuilder.Create()
    .Theme(ThemePreset.Professional)
    .AddTitleSlide(opt => opt
        .Title("Q1 Report")
        .Subtitle("Business Review")
        .Author("Alice"))
    .AddContentSlide(opt => opt
        .Title("Key Results")
        .Bullets("Revenue +30%", "Users doubled", "NPS score 72"))
    .AddTableSlide(opt => opt
        .Title("KPIs")
        .Data(new[] {
            new[] { "Metric", "Target", "Actual" },
            new[] { "Revenue", "100M", "120M" },
            new[] { "Users", "2M", "2.5M" }
        }))
    .AddChartSlide(opt => opt
        .Title("Trend")
        .ChartTitle("Revenue")
        .BarChart(new Dictionary<string, double> {
            { "Q1", 10 }, { "Q2", 12 }, { "Q3", 14 }, { "Q4", 18 }
        }))
    .Save("output.pptx");

Themes (10 Built-in)

Professional, Academic, Modern, Minimal, Warm, Cool, midnight-executive, coral-energy, teal-trust, cherry-bold.

// JSON custom theme
var theme = ThemePreset.BuildFromJson("formats/cherry-bold.json");
SlideBuilder.Create().Theme(theme).AddTitleSlide(...).Save("output.pptx");

Layout System

Six layout types based on visual gravity distribution:

Layout Description Best For
SingleFocus 1-2 elements, large whitespace Title slides, key messages
Symmetric 50/50 dual columns Comparisons, before/after
Asymmetric 2/3 + 1/3 split Main finding + supporting info
ThreeColumn 3 balanced columns Feature lists, metrics
PrimarySecondary 1 main + 2-3 supporting Key insight + evidence
HeroTop Large banner + bottom cards Summary dashboards
.AddSlide(slide => slide.Symmetric(
    leftTitle: "Before",
    leftContent: "Manual process, 8 hours",
    rightTitle: "After",
    rightContent: "Automated, 15 minutes"
))
.AddSlide(slide => slide.ThreeColumn(
    col1Title: "Speed", col1Content: "2x faster",
    col2Title: "Quality", col2Content: "95% accuracy",
    col3Title: "Cost", col3Content: "50% reduction"
))

Card Layouts

TwoColumns, Cards, BigNumber, Quote — pre-designed card helpers for common presentation patterns.

CJK Font Support

Automatic <a:ea> element injection into every text run. Chinese/Japanese/Korean fonts render correctly without manual XML editing.

Inspection and Validation

var map = SlidePreview.ShapeMap("output.pptx");
Console.WriteLine(map.Json);   // Structured JSON of all shapes

SlideValidator.ValidateAndReport("output.pptx");  // Structural integrity check

Dependencies

  • ShapeCrawler — OpenXML SDK wrapper for PPTX manipulation

API Reference

Class Description
SlideBuilder Chainable slide creation entry point
PresentationBuilder Multi-slide presentation builder
ThemePreset 10 themes, JSON theme loading
SlideHelper Layout helpers (SingleFocus, Symmetric, etc.)
SlidePreview Shape inspection and JSON export
SlideValidator Structural validation
RawAccessor Low-level OOXML access

Source

https://github.com/angri450/Nong.NET — Issues and PRs welcome.

License

MIT

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 was computed.  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 was computed.  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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.2 90 6/1/2026
3.0.1 90 6/1/2026
3.0.0 95 6/1/2026
2.0.0 92 5/30/2026
1.0.4 94 5/30/2026
1.0.3 89 5/30/2026
1.0.2 85 5/30/2026
1.0.1 102 5/24/2026
1.0.0 87 5/24/2026