Einführung
Aspose.Slides FOSS for .NET provides a comprehensive set of classes for managing PowerPoint presentations entirely in C#. The library lets you create new .pptx Dateien von Grund auf, laden vorhandene ab, manipulieren Diapositionen und Formen und speichern das Ergebnis wieder auf der Festplatte – alles ohne Microsoft Office oder eine externe Abhängigkeit zu installieren.
Die Aspose.Slides.Foss Das NuGet-Paket zielt auf .NET 9.0 ab und läuft identisch mit Windows, MacOS, Linux und Docker Containern. Es wird unter der MIT Lizenz veröffentlicht, so dass Sie es in kommerziellen und Open Source Projekten ohne Einschränkungen verwenden können.
Dieser Beitrag führt Sie durch die Kernfunktionen der Präsentationsverwaltung: Arbeiten mit Folien, Erstellen von Formhierarchien, Organisieren von Text, Verwalten von Tabellen und Speichern in PPTX.
Was ist darin enthalten?
Erstellen und Laden von Präsentationen
Die Presentation Sie können eine leere Präsentation erstellen, aus einem Dateipfad laden oder aus einer Streaming-Datei lesen. Die Klasse implementiert IDisposable,Sie wickeln es in eine using Die Veröffentlichung der Erklärung stellt sicher, daß die Ressourcen ordnungsgemäß freigegeben werden.
// Create a brand-new, empty presentation
using var pres = new Presentation();
// Load an existing file
using var existing = new Presentation("report.pptx");
Die Presentation Objekt zeigt die gesamte Dias-Hierarchie durch Eigenschaften wie: Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images,und . NotesSize.
Arbeiten mit Dias
Die SlideCollection zurückgegeben von: Presentation.Slides Sie können eine Folie innerhalb derselben Präsentation oder über die verschiedenen Prädikaten hinweg klonen, während Layouts erhalten oder neu erstellt werden.
using var pres = new Presentation();
// The default presentation contains one blank slide
var firstSlide = pres.Slides[0];
// Clone the first slide and append it
pres.Slides.AddClone(firstSlide);
// Insert a clone at a specific position
pres.Slides.InsertClone(1, firstSlide);
// Remove a slide by index
pres.Slides.RemoveAt(2);
// Total slide count
int count = pres.Slides.Count;
Jeder von ihnen Slide Auslöser SlideNumber, Hidden, LayoutSlide, NotesSlideManager,und . Name.Sie können die Sammlung mit foreach oder in ein Array mit ToArray().
Formen und AutoFormen
Jede Folie enthält eine ShapeCollection Zugang durch Slide.Shapes.Die Sammlung enthält Werkverfahren für die gängigsten Formtypen.
using var pres = new Presentation();
var slide = pres.Slides[0];
// Add a rectangle AutoShape
var rect = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, 50, 50, 300, 150);
// Add a connector
var connector = slide.Shapes.AddConnector(
ShapeType.BentConnector3, 100, 200, 200, 50);
// Reorder a shape to bring it forward
slide.Shapes.Reorder(0, rect);
// Remove all shapes
slide.Shapes.Clear();
Die AddAutoShape und InsertAutoShape Methoden akzeptieren eine ShapeType Enum-Wert plus Position und Größe Koordinaten. AddConnector, InsertConnector, AddPictureFrame, und InsertPictureFrame Folgen Sie dem gleichen Muster.
Text: Absätze und Teile
Text in einer Präsentation lebt in einem TextFrame, die eine ParagraphCollection.Jeder . Paragraph hält eine PortionCollection von Portion Objekte, die einzelne Textläufe mit unabhängiger Formatierung darstellen.
using var pres = new Presentation();
var slide = pres.Slides[0];
var shape = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, 50, 50, 400, 200);
// Access the shape's text frame
var tf = shape.TextFrame;
// Read or set the full text
tf.Text = "Hello, presentation world!";
// Work with individual paragraphs and portions
var para = new Paragraph();
var portion = new Portion("Formatted run");
para.Portions.Add(portion);
tf.Paragraphs.Add(para);
Jeder von ihnen Portion hat eine PortionFormat Eigenschaft zur Steuerung von Schriftart, Größe, Fett/Kursivschrift, Farbe, Unterstriche und anderen Attributen auf Zeichenebene. ParagraphFormat Steuerung der Ausrichtung, des Schuss-Stils, der Abstandsfläche und der Einbrüche.
Tabellen und Daten
Tabellen werden durch die ShapeCollection.AddTable, die Spaltenbreiten und Zeilenhöhen als Arrays akzeptiert. Die zurückgegebenen Table Objekt bietet Zugang zu Rows, Columns, und Einzelpersonen. Cell Objekte.
using var pres = new Presentation();
var slide = pres.Slides[0];
double[] colWidths = { 150, 150, 150 };
double[] rowHeights = { 40, 40, 40 };
var table = slide.Shapes.AddTable(
50, 50, colWidths, rowHeights);
// Set text in a cell
table.Rows[0][0].TextFrame.Text = "Header 1";
table.Rows[0][1].TextFrame.Text = "Header 2";
table.Rows[0][2].TextFrame.Text = "Header 3";
// Merge cells
table.MergeCells(table.Rows[1][0], table.Rows[1][2], false);
// Style presets
table.StylePreset = TableStylePreset.MediumStyle2Accent1;
Speicherung von Präsentationen
Die Presentation.Save Die Methode schreibt das Dokument in eine Datei oder einen Stream. SaveFormat enum gibt das Ausgabeformat an. PPTX ist das primäre unterstützte Ausgabemodus.
using var pres = new Presentation();
// ... build slides ...
// Save to a file
pres.Save("output.pptx", SaveFormat.Pptx);
// Save to a stream
using var ms = new MemoryStream();
pres.Save(ms, SaveFormat.Pptx);
// Save specific slides by index
pres.Save("subset.pptx", new[] { 1, 3 }, SaveFormat.Pptx);
Sie können auch eine SaveOptions Gegenstand für eine zusätzliche Kontrolle über die Ausgabe.
Schneller Start
Installieren Sie das Paket über die .NET CLI:
dotnet add package aspose.slides.foss
Dann erstellen und speichern Sie eine minimale Präsentation:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
// 1. Create a new presentation
using var pres = new Presentation();
// 2. Get the default slide
var slide = pres.Slides[0];
// 3. Add a title shape
var title = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, 50, 30, 600, 60);
title.TextFrame.Text = "Quarterly Report";
// 4. Add a content shape
var body = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, 50, 120, 600, 300);
var para = new Paragraph();
para.Portions.Add(new Portion("Revenue grew 12% year-over-year."));
body.TextFrame.Paragraphs.Add(para);
// 5. Save as PPTX
pres.Save("quarterly-report.pptx", SaveFormat.Pptx);
Unterstützte Formate
| Format der Datenbank | Erweiterung | Lesen Sie . | Schreiben . |
|---|---|---|---|
| PPTX | .pptx | - Ja , das ist gut . | - Ja , das ist gut . |
| PPSX | .ppsx | - Nein . | Geplant |
| PPTM | .pptm | - Nein . | Geplant |
| POTX | .- Das ist nicht wahr. | - Nein . | Geplant |
| ODP | .odp (auch als “ODP”) | - Nein . | Geplant |
| FODP | .fodp (Food) | - Nein . | Geplant |
Anmerkung: Derzeit wird nur der PPTX-Export implementiert.
SaveFormatDie neuen Systeme sind zwar nicht für die Zukunft kompatibel, aber noch nicht funktionsfähig.Save()Die Methode erzeugt immer PPTX-Ausgabe, unabhängig vom Formatparameter. Legacy.pptbinäre Formate nicht unterstützt.
Open Source und Lizenzierung
Aspose.Slides FOSS for .NET is released under the MIT license. The full source code is available on GitHub.Sie können es in kommerziellen und Open-Source-Projekten verwenden, den Code ändern und ohne Einschränkung weitergeben. Keine API-Schlüssel, Lizenzdatei oder Registrierung erforderlich.
Wie man anfängt
- Entwickler-Leitfaden: Das ist eine sehr wichtige Frage. – Tutorials und Konzeptdokumentation.
- Wissensbasis: Die Kommission hat die Möglichkeit, den Zugang zu Informationen und der Verarbeitung von Daten zu erleichtern. – FAQs und Artikel mit Anleitungen.
- Referenz für die API: Referenz.aspose.org/Slides/netz – vollständige Klassen- und Methodenreferenz.