Skip to content
@aspose-slides-foss

Aspose.Slides FOSS Family

Open-source .NET, C++, Java and Python libraries for creating, reading and editing PowerPoint (.pptx) presentations. MIT licensed.

Aspose.Slides FOSS

Open-source libraries for PowerPoint .pptx files — in .NET, C++, Java and Python.

Read, create and edit PowerPoint presentations from your own code. No PowerPoint, no Microsoft Office, no COM automation, no headless converter process, no network calls: each library parses and writes the OOXML package directly.

All four editions are MIT licensed.


The four editions

Edition Repository Getting it
Python Aspose.Slides-FOSS-for-Python pip install aspose-slides-foss — on PyPI. Python 3.10+, one dependency (lxml).
.NET Aspose.Slides-FOSS-for-.NET dotnet add package Aspose.Slides.FOSS — on NuGet. Targets .NET 8 and .NET 10. No runtime package dependencies.
Java Aspose.Slides-FOSS-for-Java org.aspose:aspose-slides-foss — on Maven Central. Java 21, Maven. No runtime dependencies.
C++ Aspose.Slides-FOSS-for-Cpp Install-Package Aspose.Slides.Cpp.FOSS on Windows with MSVC v143+ — on NuGet; or CMake FetchContent on any platform. C++20, CMake 3.20+; pugixml and miniz fetched automatically.

All four editions ship a published package. Each repository's README.md is the working reference for that edition, with runnable examples for every feature listed below.

These are four native implementations, not bindings around a shared core: the .NET edition is C#, the Java edition is Java, the C++ edition is C++. The object model is deliberately parallel across them, so code translates almost line for line — but each is idiomatic in its own language.


What every edition does

  • Presentation I/O — open, create and save .pptx
  • Slides — add, remove, clone, reorder, iterate
  • Shapes — AutoShapes, PictureFrames, Tables, Connectors
  • Text — TextFrame / Paragraph / Portion, with character, paragraph and text-frame formatting, including bullets
  • Fill — solid, gradient, pattern and picture fills
  • Lines — width, dash style, arrows, join, alignment
  • Effects — outer shadow, glow, soft edge, blur, reflection, inner shadow
  • 3D — bevel, camera, light rig, material, extrusion depth
  • Document properties — core, app and custom properties
  • Notes slides — per-slide notes with header/footer management
  • Comments — with authors, timestamps and positions
  • Images — embed from file, bytes or stream

Additionally in the Python edition today: charts (70+ types, with the embedded workbook, axes, trendlines, error bars and data labels), shape and text animations, slide transitions (57 types), themes, slide and master backgrounds, group shapes, and Markdown export in 24 flavour dialects.

Unknown XML is never dropped

Parts of a file that a library does not yet understand are preserved verbatim on save. Opening a deck and re-saving it will not silently strip content — which is the property that makes these libraries safe to put in the middle of an automated pipeline.


What is not implemented

Across all editions: SmartArt, OLE objects, mathematical text; export to PDF, HTML, SVG and image formats; VBA macros; digital signatures; hyperlinks and action settings.

Charts, animations and slide transitions currently exist in the Python edition only.

If your use case needs rendering, conversion, or the legacy .ppt and .odp formats, see Aspose.Slides — the commercial product these libraries share a name and a design lineage with. It is a separate, closed-source product with its own licence, its own documentation and support forum.


Thirty seconds with it

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
    shape.add_text_frame("Hello, world!")
    prs.save("hello.pptx", SaveFormat.PPTX)

The same program in C#, Java and C++ is in each repository's README.


Documentation


Contributing

Issues, discussions and pull requests are welcome on every repository. The full guide is in CONTRIBUTING.md; the essentials are below.

Reporting a file that does not work. The single most valuable report is a .pptx that PowerPoint refuses to open after the library wrote it, or a file the library cannot read that PowerPoint opens fine. To be actionable a report needs:

  1. The edition and version (for Python, pip show aspose-slides-foss; otherwise the commit SHA you built).
  2. A minimal file that reproduces it — attached, not described. Strip it down until removing anything else makes the problem disappear.
  3. The exact code that produced or consumed the file, short enough to paste whole.
  4. What you expected and what happened, with PowerPoint's error text quoted verbatim, including the phrase about repairing the presentation if you saw it.
  5. Whether the input file opens correctly before the library touches it.

A repair prompt is almost always one malformed part in the package. Unzipping the .pptx and naming the part you suspect turns a day of bisecting into ten minutes.

Pull requests. Keep them focused on one thing, and add a test — every edition has a test suite next to the source (tests/). Match the surrounding style rather than reformatting. Contributions are accepted under the MIT licence the projects already carry.

Discussions are the right place for design questions, "is this supposed to work", and showing what you built. Issues are for defects and concrete feature requests.


Licence

MIT, in all four repositories.

Popular repositories Loading

  1. Aspose.Slides-FOSS-for-Python Aspose.Slides-FOSS-for-Python Public

    Open-source Python library for creating, reading and editing PowerPoint (.pptx) presentations — slides, shapes, text, tables, charts, animations, transitions and Markdown export. MIT licensed.

    Python 14 1

  2. Aspose.Slides-FOSS-for-Cpp Aspose.Slides-FOSS-for-Cpp Public

    Open-source C++ library for creating, reading and editing PowerPoint (.pptx) presentations — slides, shapes, text, tables, fills, effects, notes and comments. MIT licensed.

    C++ 12 1

  3. Aspose.Slides-FOSS-for-Java Aspose.Slides-FOSS-for-Java Public

    Open-source Java library for creating, reading and editing PowerPoint (.pptx) presentations — slides, shapes, text, tables, fills, effects, notes and comments. MIT licensed.

    Java 11 2

  4. Aspose.Slides-FOSS-for-.NET Aspose.Slides-FOSS-for-.NET Public

    Open-source C#/.NET library for creating, reading and editing PowerPoint (.pptx) presentations — slides, shapes, text, tables, fills, effects, notes and comments. MIT licensed.

    C# 10

  5. .github .github Public

    Organisation profile for Aspose.Slides FOSS — the profile/README.md shown on github.com/aspose-slides-foss

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…