Wie man Präsentationen in .NET erstellt

Wie man Präsentationen in .NET erstellt

Aspose.Slides FOSS for .NET lets you create PowerPoint presentations entirely in C# with no dependency on Microsoft Office. This guide shows how to create a new presentation, add slides and shapes, format text, and save the result.

Schritt für Schritte

Schritt 1: Installieren des Pakets

Installieren Sie Aspose.Slides FOSS von NuGet. .NET 9.0 oder höher ist erforderlich.

aspose-slides-foss/slides is not yet published — build from source until it ships. See the project README for build instructions.

Die Installation überprüfen:

using Aspose.Slides.Foss;

using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");

Es sind keine weiteren Systempakete erforderlich.


Schritt 2: Importieren der erforderlichen Namensflächen

Fügen Sie die benötigten Namensräume hinzu, um Präsentationen zu erstellen und zu speichern.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

Alle Konstanten des Formtyps leben in Aspose.Slides.Foss.ShapeType.Alle Formatierungstypen (FillType, NullableBool) sind auch in den Mitgliedstaaten zu finden. Aspose.Slides.Foss.


Schritt 3: Erstellen Sie eine Präsentation

Verwendung new Presentation() mit einem using Eine neue Präsentation beginnt mit einer leeren Folie.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
Console.WriteLine($"Slides in new presentation: {prs.Slides.Count}");
// work with prs
prs.Save("output.pptx", SaveFormat.Pptx);

Wichtig: Verwenden Sie immer: Presentation mit einem using Die Klasse implementiert die IDisposable und ohne sie werden Ressourcen nicht richtig freigegeben.


Schritt 4: Auf eine Folie zugreifen

Die erste Folie ist bei Index 0. Eine leere Präsentation hat genau eine Folio.

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];  // zero-based index
Console.WriteLine($"Slide at index 0: {slide}");
prs.Save("output.pptx", SaveFormat.Pptx);

Schritt 5: Fügen Sie eine Form hinzu

Verwendung slide.Shapes.AddAutoShape() Die Parameter sind: (shapeType, x, y, width, height) Alle in Punkten (1 Punkt = 1/72 Zoll; Standarddiagramm ist 720 x 540 pt).

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

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

// Rectangle at (50, 50) with 400 wide and 120 tall
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 120);

// Attach a text frame
shape.AddTextFrame("Hello from Aspose.Slides FOSS!");

prs.Save("with-shape.pptx", SaveFormat.Pptx);

Schritt 6: Speichern Sie die Präsentation

Rufen Sie an . prs.Save(path, SaveFormat.Pptx) PPTX ist das einzige unterstützte Ausgabeformat.

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

Die Datei wird atomar geschrieben; wenn vor diesem Aufruf ein Fehler auftritt, wird keine Ausgabedatei erstellt.


Vollständiges Arbeitsbeispiel

Das folgende Programm erstellt eine zweistufige Präsentation mit einer Titelform auf der ersten Folie und einem Tisch auf dem zweiten.

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

using var prs = new Presentation();

// --- Slide 1: title shape ---
var slide1 = prs.Slides[0];
var title = slide1.Shapes.AddAutoShape(ShapeType.Rectangle, 40, 40, 640, 80);
var tf = title.AddTextFrame("Q1 Results: Executive Summary");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 32;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);

// --- Slide 2: table ---
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];
var table = slide2.Shapes.AddTable(40, 40,
    new double[] { 200.0, 120.0, 120.0 },
    new double[] { 40.0, 40.0, 40.0 });

string[] headers = { "Region", "Revenue", "Growth" };
string[][] data = {
    new[] { "North", "$1.2M", "+8%" },
    new[] { "South", "$0.9M", "+4%" },
};

for (int col = 0; col < headers.Length; col++)
    table.Rows[0][col].TextFrame.Text = headers[col];

for (int row = 0; row < data.Length; row++)
    for (int col = 0; col < data[row].Length; col++)
        table.Rows[row + 1][col].TextFrame.Text = data[row][col];

prs.Save("q1-results.pptx", SaveFormat.Pptx);
Console.WriteLine("Saved q1-results.pptx");

Häufige Probleme und Lösungen

ObjectDisposedException

Sie verwenden die Presentation Gegenstand nach dem using Alle Arbeiten müssen erledigt werden, bevor das Objekt entsorgt wird.

fehlende Namensraumfehler für ShapeType

Stellen Sie sicher, dass Sie using Aspose.Slides.Foss; - Sie haben es in der Akte. ShapeType, NullableBool, FillType, und andere Enums sind in diesem Namensraum.

SaveFormat andere als Pptx

Überschreiten von SaveFormat Wert, der nicht SaveFormat.Pptx wird nicht eine Ausnahme geworfen. Der Formatparameter wird stillschweigend ignoriert und PPTX wird immer erzeugt. Immer verwenden SaveFormat.Pptx Ich möchte es klar sagen.


Häufig gestellte Fragen

Was ist die Standard-Slidegröße?

Eine neue Presentation() erstellt Diapositive in der Standardgröße 10 x 7,5 Zoll (720 x 540 Punkte). Die Änderung der Diapotheken ist noch nicht unterstützt.

Kann ich mehr als eine Folie hinzufügen?

Ja, rufen Sie an. prs.Slides.AddEmptySlide(prs.LayoutSlides[0]) Ein leerer Diagramm hinzuzufügen und nach Index zugänglich zu machen:

prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];

Kann ich eine vorhandene Datei öffnen und Bilder hinzufügen?

  • Ja , das ist er .:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);

In welche Formate kann ich speichern?

Nur: SaveFormat.Pptx wird unterstützt. Export in PDF, HTML, SVG oder Bilder ist nicht verfügbar.


Siehe auch:

 Deutsch