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
- Erstellen Sie eine PowerPoint Präsentation
- Öffnen Sie eine vorhandene PowerPoint Präsentation
- Folie zu einer Präsentation hinzufügen
- Text zur Folie der Präsentation hinzufügen
- Erstellen Sie eine Tabelle in Präsentation
- Erstellen Sie ein Diagramm in der Präsentation
- Fügen Sie ein Bild in der Präsentation hinzu
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.
- Erstellen Sie eine Instanz der Klasse Presentation.
- Speichern Sie es als PPTX mit der methode Presentation.Save(String, SaveFormat).
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.
- Erstellen Sie eine Instanz der Klasse Presentation.
- Instanziieren Sie die Klasse ISlideCollection, indem Sie einen Verweis auf die Eigenschaft Presentations.Slides festlegen.
- Fügen Sie der Präsentation eine leere Folie hinzu, indem Sie die Methode Slide.AddEmptySlide(ILayoutSlide) verwenden, die vom Objekt ISlideCollection bereitgestellt wird
- Speichern Sie die Präsentationsdatei mit der methode Presentation.Save(String, SaveFormat).
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.
- Erstellen Sie eine neue Präsentation mit der Klasse Presentation.
- Lesen Sie das SVG Bild mit der methode File.ReadAllText(String path).
- Fügen Sie mithilfe der Methode Presentation.Slides[0].Shapes.AddPictureFrame(ShapeType shapeType, float x, float y,float width, float height, IPPImage image) ein Bild zur Folie hinzu.
- Speichern Sie die Präsentation.
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
- Schützen Sie PowerPoint PPTX-Präsentationen mit C#
- Erstellen Sie MS PowerPoint Präsentationen in ASP.NET
- Konvertieren Sie PowerPoint PPTX/PPT in PNG Bilder in C#
- Festlegen des Folienhintergrunds in PowerPoint Präsentationen mit C#
- Generieren Sie Miniaturansichten für PowerPoint PPTX oder PPT mit C#
- Anwenden von Animation auf Text in PowerPoint mit C#
- Aufteilen von PowerPoint Präsentationen mit C#
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.