1. Productes
  2.   Aspose.Slides
  3.   Aspose.Slides Programari Lliure i de Codi Obert for .NET

Aspose.Slides FOSS per .NET

Creeu, llegiu i editeu presentacions PowerPoint des de .NET — gratuït i de codi obert, sense necessitat de dependència d’Office.

Biblioteca .NET de codi obert per a presentacions PowerPoint

Aspose.Slides FOSS for .NET és una biblioteca pura de C# amb llicència MIT per treballar amb fitxers PowerPoint .pptx. Afegeix un únic paquet NuGet i comença immediatament a crear, llegir i editar presentacions sense instal·lar Microsoft Office ni cap entorn d’execució propietari.

La biblioteca exposa una API de Presentació construïda al voltant de Presentation, Slide, Shape, TextFrame, Paragraph i Portion, el model conceptual utilitzat per PowerPoint mateix. Afegeix i elimina diapositives, insereix AutoShapes, Taules i Connectors, formata el text a nivell de caràcter amb negreta, cursiva, mida i color de la lletra, aplica emplenaments sòlids o degradats i afegeix efectes visuals (ombra, resplendor, difuminat, reflexió).

El patró IDisposable garanteix una neteja fiable dels recursos: sempre embolica una Presentation dins d’una instrucció using. Les parts XML desconegudes trobades durant la càrrega es conserven literalment en desar, de manera que el procés d’anar i tornar mai destrueix el contingut que la biblioteca encara no entén. La biblioteca requereix .NET 9.0 o posterior i no té extensions natives per compilar.

Presentation and Slide API

  • Create and open PPTX: Create new presentations or open existing .pptx files via new Presentation() or new Presentation(file).
  • Add and remove slides: Programmatically manage the SlideCollection with AddClone(), AddEmptySlide(), Remove(), and RemoveAt().
  • AutoShapes: Insert rectangles, ellipses, lines, and other ShapeType geometries via AddAutoShape().
  • Tables and Connectors: Add structured table shapes and connector lines between shapes via AddConnector().
  • Speaker notes: Read and write per-slide speaker notes through NotesSlideManager.
  • Threaded comments: Access slide-level comment threads with GetSlideComments().

Where Aspose.Slides FOSS Can Be Used

  • Report generation: Build branded slide decks from data sources without Office.
  • Template automation: Fill PPTX templates with dynamic content in CI/CD pipelines.
  • Content migration: Read existing presentations and restructure or re-style slides.
  • Serverless backends: Process PPTX files inside Docker containers or Azure Functions.
  • Batch processing: Apply uniform formatting changes across large slide deck libraries.

Text Formatting and Visual Effects

  • Character-level formatting: Apply bold, italic, font size, and color to individual Portion objects via PortionFormat.
  • Solid and gradient fills: Set shape fill to a solid color or multi-stop linear gradient using FillFormat and FillType.
  • Shadow and glow effects: Apply outer shadow, glow, blur, and reflection to any shape via EffectFormat.
  • Paragraph alignment: Set left, center, right, or justify alignment per paragraph using ParagraphFormat.Alignment.
  • Round-trip safe: Unknown XML parts are preserved verbatim on re-save.

Developer Experience

Aspose.Slides FOSS installs with a single dotnet add package Aspose.Slides.Foss command. The library is pure C# with no native extensions to compile and no system packages to install.

The API mirrors PowerPoint’s own object model (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), so anyone familiar with the PowerPoint object model can use the library immediately. It is MIT-licensed, open-source on GitHub, and requires .NET 9.0 or later.

Create a Presentation and Add a Shape

Use a using statement to ensure the Presentation is always disposed and resources are freed. AddAutoShape() takes a ShapeType enum, then x/y position and width/height in points. Call AddTextFrame() to create the text frame and set the initial text in one call — do not access TextFrame before calling AddTextFrame() as the frame is null until created.

dotnet add package Aspose.Slides.Foss
using Aspose.Slides.Foss;

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

// Add a rectangle AutoShape
var shape = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 50, 400, 150
);
shape.AddTextFrame("Hello, Aspose.Slides!");

prs.Save("output.pptx", SaveFormat.Pptx);

Format Text and Apply a Fill Effect

Text formatting works at the Portion level — the smallest unit of a run of characters. Open the saved file, navigate to the first portion of the first paragraph, and set font properties directly. Shape fill is independent: set FillType to Solid and assign a color to SolidFillColor.Color.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;

using var prs = new Presentation("output.pptx");
var shape = (IAutoShape)prs.Slides[0].Shapes[0];
var portion = shape.TextFrame.Paragraphs[0].Portions[0];

// Bold, 18pt, dark-blue text
portion.PortionFormat.FontBold = NullableBool.True;
portion.PortionFormat.FontHeight = 18;
portion.PortionFormat.FillFormat.SolidFillColor.Color =
    Color.FromArgb(255, 0, 0, 139);

// Solid background fill on the shape
shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color =
    Color.FromArgb(255, 240, 248, 255);

prs.Save("formatted.pptx", SaveFormat.Pptx);

Frequently Asked Questions

What is Aspose.Slides FOSS for .NET?

It is a free, MIT-licensed pure-C# library for creating, reading, and editing PowerPoint .pptx presentations without requiring Microsoft Office.

Which file formats are supported?

PPTX is the supported read/write format. Export to PDF, HTML, SVG, or images is not available in this edition.

Does it require Microsoft Office or PowerPoint?

No. Aspose.Slides FOSS is a pure-C# library with no dependency on Microsoft Office, COM automation, or any proprietary runtime.

How do I install it?

Run dotnet add package Aspose.Slides.Foss. The library requires .NET 9.0 or later. There are no native extensions to compile.

Can I apply visual effects like shadow and glow?

Yes. The library supports outer shadow, glow, blur, and reflection effects on any shape object via the EffectFormat API.

Is the IDisposable pattern recommended?

Yes. Always wrap a Presentation in a using statement (using var prs = new Presentation();) to ensure reliable resource cleanup.

Will round-tripping a PPTX destroy unknown content?

No. Unknown XML parts encountered during load are preserved verbatim on save, so content the library does not yet understand is never lost.

Where can I find the source code?

The library is MIT-licensed and hosted on GitHub. Bug reports and pull requests are welcome.

  

Suport i recursos d aprenentatge

 Català