PowerPoint Präsentationen erstellen C#

Mit MS PowerPoint Präsentationen können Sie Diashows erstellen, die Text, Bilder, Diagramme, Animationen und andere Elemente enthalten. Verschiedene zusätzliche Formatierungsoptionen lassen Sie Ihre Präsentationen ansprechender gestalten. In diesem Beitrag erfahren Sie, wie Sie solche Präsentationen programmgesteuert erstellen. Sie lernen, wie Sie mit C# PPTX-Präsentationen mit Text, Tabellen, Bildern und Diagrammen erstellen.

C# PowerPoint-API – kostenloser Download

Aspose.Slides for .NET ist eine API zur Bearbeitung von Präsentationen, mit der Sie PowerPoint Dokumente in Ihren .NET Anwendungen erstellen und bearbeiten können. Die API bietet nahezu alle möglichen Funktionen, die zum Implementieren grundlegender sowie erweiterter PowerPoint-Automatisierungsfunktionen erforderlich sind. Sie können die API entweder herunterladen oder über NuGet installieren.

Install-Package Aspose.Slides.NET

Erstellen Sie eine PowerPoint Präsentation in C#

Beginnen wir mit der Erstellung einer leeren PowerPoint Präsentation mit Aspose.Slides for .NET. Im Folgenden sind die Schritte dazu aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie eine PowerPoint Präsentation in C# erstellen.

// Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt
using (Presentation presentation = new Presentation())
{
    // Holen Sie sich die erste Folie
    ISlide slide = presentation.Slides[0];

    // Inhalt zur Folie hinzufügen...
    
    // Präsentation speichern
    presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}

Öffnen Sie eine vorhandene PowerPoint Präsentation in C#

Sie müssen keine zusätzlichen Anstrengungen unternehmen, um eine vorhandene PowerPoint Präsentation zu öffnen. Geben Sie dem Konstruktor der Klasse Presentation einfach den Pfad der PPTX Datei an, und Sie sind fertig. Das folgende Codebeispiel zeigt, wie eine vorhandene PPTX-Präsentation geöffnet wird.

// Öffnen der Präsentationsdatei durch Übergeben des Dateipfads an den Konstruktor der Presentation klasse
Presentation pres = new Presentation("OpenPresentation.pptx");

// Drucken der Gesamtzahl der Folien in der Präsentation
System.Console.WriteLine(pres.Slides.Count.ToString());

Hinzufügen einer Folie zu einer Präsentation in C#

Nachdem Sie die Präsentation erstellt haben, können Sie damit beginnen, die Folien hinzuzufügen. Im Folgenden werden die Schritte zum Hinzufügen einer Folie in der Präsentation mit Aspose.Slides for .NET beschrieben.

Das folgende Codebeispiel zeigt, wie Sie eine Folie in einer PowerPoint Präsentation mit C# hinzufügen.

// Instanziieren Sie die Presentation klasse , die die Präsentationsdatei darstellt
using (Presentation pres = new Presentation())
{
    // Instanziieren Sie die SlideCollection Klasse
    ISlideCollection slds = pres.Slides;

    for (int i = 0; i < pres.LayoutSlides.Count; i++)
    {
        // Fügen Sie der Slides Sammlung eine leere Folie hinzu
        slds.AddEmptySlide(pres.LayoutSlides[i]);

    }

    // Speichern Sie die PPTX Datei auf der Festplatte
    pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);

}

Einfügen von Text in eine Folie mit C#

Jetzt können wir Inhalte zu den Folien in der PowerPoint Präsentation hinzufügen. Lassen Sie uns zunächst mithilfe der folgenden Schritte einen Text zur Folie hinzufügen.

  • Erstellen Sie eine neue Präsentation mit der Klasse Presentation.
  • Rufen Sie die Referenz der Folie in der Präsentation ab.
  • Fügen Sie eine IAutoShape mit ShapeType als Rectangle an einer bestimmten Position der Folie hinzu.
  • Rufen Sie die Referenz dieses neu hinzugefügten IAutoShape objekts ab.
  • Fügen Sie der AutoForm, die den Standardtext enthält, einen TextFrame hinzu.
  • Speichern Sie die Präsentation als PPTX Datei.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# Text zu einer Folie in einer Präsentation hinzufügen.

// PresentationEx instanziieren// PresentationEx instanziieren
using (Presentation pres = new Presentation())
{
    // Holen Sie sich die erste Folie
    ISlide sld = pres.Slides[0];

    // Fügen Sie eine AutoForm vom Typ Rechteck hinzu
    IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);

    // Fügen Sie dem Rechteck TextFrame hinzu
    ashp.AddTextFrame(" ");

    // Zugriff auf den Textrahmen
    ITextFrame txtFrame = ashp.TextFrame;

    // Erstellen Sie das Absatzobjekt für den Textrahmen
    IParagraph para = txtFrame.Paragraphs[0];

    // Portionsobjekt für Absatz erstellen
    IPortion portion = para.Portions[0];

    // Text setzen
    portion.Text = "Aspose TextBox";

    // Speichern Sie die Präsentation auf der Festplatte
    pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Tabelle in einer Präsentation mit C# erstellen

Aspose.Slides for .NET bietet eine einfache Möglichkeit, eine Tabelle im Präsentationsdokument zu erstellen. Im Folgenden sind die Schritte dafür.

  • Erstellen Sie eine Instanz der Klasse Presentation.
  • Rufen Sie die Referenz einer Folie ab, indem Sie ihren Index verwenden.
  • Definieren Sie Arrays von Spalten mit Breite und Zeilen mit Höhe.
  • Fügen Sie der Folie eine Tabelle hinzu, indem Sie die Methode Slide.Shapes.AddTable() verwenden, die vom Objekt IShapes bereitgestellt wird, und rufen Sie den Verweis auf die Tabelle in der Instanz ITable ab.
  • Durchlaufen Sie jede Zelle, um die Formatierung anzuwenden.
  • Fügen Sie mithilfe der Eigenschaft Table.Rows[][].TextFrame.Text Text zu den Zellen hinzu.
  • Speichern Sie die Präsentation als PPTX Datei.

Das folgende Codebeispiel zeigt, wie eine Tabelle in einer Folie einer PowerPoint Präsentation erstellt wird.

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
Presentation pres = new Presentation();

// Greifen Sie auf die erste Folie zu
ISlide sld = pres.Slides[0];

// Definieren Sie Spalten mit Breiten und Zeilen mit Höhen
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Fügen Sie der Folie eine Tabellenform hinzu
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Legen Sie das Rahmenformat für jede Zelle fest
for (int row = 0; row < tbl.Rows.Count; row++)
{
	for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
	{
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;

		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
	}
}

// Verbinden Sie die Zellen 1 und 2 der Zeile 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);

// Fügen Sie der verbundenen Zelle Text hinzu
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";

// Speichern Sie PPTX auf der Festplatte
pres.Save("table.pptx", SaveFormat.Pptx);

Diagramm in einer Präsentation mit C# erstellen

Im Folgenden finden Sie die Schritte zum Hinzufügen eines Diagramms in einer PowerPoint Präsentation mit C#.

  • Erstellen Sie eine Instanz der Klasse Presentation.
  • Rufen Sie die Referenz einer Folie nach Index ab.
  • Fügen Sie ein Diagramm mit dem gewünschten Typ mit der methode ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single) hinzu.
  • Fügen Sie einen Diagrammtitel hinzu.
  • Greifen Sie auf das Diagrammdaten-Arbeitsblatt zu.
  • Löschen Sie alle Standardserien und -kategorien.
  • Fügen Sie neue Serien und Kategorien hinzu.
  • Fügen Sie neue Diagrammdaten für Diagrammserien hinzu.
  • Legen Sie die Füllfarbe für Diagrammserien fest.
  • Beschriftungen für Diagrammreihen hinzufügen.
  • Speichern Sie die Präsentation als PPTX Datei.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# ein Diagramm in eine Präsentation einfügen.

// Instanziieren Sie die Presentation klasse , die die PPTX Datei darstellt
Presentation pres = new Presentation();

// Greifen Sie auf die erste Folie zu
ISlide sld = pres.Slides[0];

// Diagramm mit Standarddaten hinzufügen
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Diagrammtitel einstellen
// Chart.ChartTitle.TextFrameForOverriding.Text = "Beispieltitel";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Legen Sie die erste Reihe auf Werte anzeigen fest
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Festlegen des Index des Diagrammdatenblatts
int defaultWorksheetIndex = 0;

// Abrufen des Diagrammdaten-Arbeitsblatts
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Löschen Sie standardmäßig generierte Serien und Kategorien
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Hinzufügen neuer Serien
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);

// Hinzufügen neuer Kategorien
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));

// Nehmen Sie die erste Diagrammserie
IChartSeries series = chart.ChartData.Series[0];

// Füllen Sie jetzt Seriendaten aus

series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// Füllfarbe für Serien festlegen
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;


// Nehmen Sie die zweite Diagrammserie
series = chart.ChartData.Series[1];

// Füllen Sie jetzt Seriendaten aus
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));

// Füllfarbe für Serien festlegen
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;

// Das erste Etikett wird den Kategorienamen anzeigen
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// Wert für drittes Label anzeigen
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
            
// Präsentation mit Diagramm speichern
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);

Erfahren Sie mehr über die Präsentationsdiagramme hier.

Fügen Sie ein Bild in der Präsentation hinzu

Im Folgenden finden Sie die Schritte zum Hinzufügen von Bildern zur Präsentationsfolie.

Das folgende Codebeispiel zeigt, wie Sie einer Präsentation in C# ein Bild hinzufügen.

// Präsentation erstellen
using (var p = new Presentation())
{
	// Bild lesen
	var svgContent = File.ReadAllText("image.svg");
	
	// Bild zur Bildersammlung hinzufügen
	var emfImage = p.Images.AddFromSvg(svgContent);
	
	// Bild zur Folie hinzufügen
	p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
	
	// Präsentation speichern
	p.Save("presentation.pptx", SaveFormat.Pptx);        
}

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C# PowerPoint Präsentationen von Grund auf neu erstellen. Außerdem haben Sie gesehen, wie Sie Folien, Text, Tabellen, Bilder und Diagramme in neue oder bestehende PPTX-Präsentationen einfügen. Weitere Informationen zur API finden Sie in der Dokumentation.

Siehe auch

Tipp: Neben der Erstellung von Folien oder Präsentationen bietet Aspose.Slides viele Funktionen, mit denen Sie mit Präsentationen arbeiten können. Unter Verwendung seiner eigenen APIs entwickelte Aspose beispielsweise einen kostenlosen Online-Viewer für Microsoft PowerPoint Präsentationen.