Formen sind eine gute Möglichkeit, Ihre PowerPoint Präsentationen ausführlicher und ansprechender zu gestalten. PowerPoint bietet eine große Auswahl an Formen, die Sie Ihren Präsentationsfolien hinzufügen können, z. B. Ellipsen, Linien, Rechtecke, Verbinder und so weiter. Um dieses Feature zu automatisieren, behandelt dieser Artikel das programmgesteuerte Hinzufügen, Klonen und Entfernen von Formen in PowerPoint-Folien mit C#.
- C# API zum Arbeiten mit PowerPoint-Formen
- Arten von PowerPoint-Formen
- Form zu PowerPoint-Folien hinzufügen
- Konnektor zu Shapes in PowerPoint-Folien hinzufügen
- Klonen Sie eine Form in PowerPoint-Folien
- Formen aus PowerPoint-Folien entfernen
C# API zum Arbeiten mit PowerPoint-Formen
Aspose.Slides for .NET ist eine C# API, die für die Arbeit mit PowerPoint Präsentationen aus .NET Anwendungen heraus entwickelt wurde. Zusammen mit anderen Präsentationsbearbeitungsfunktionen bietet die API einfache Möglichkeiten zum Arbeiten mit Formen in PowerPoint-Folien. Sie können die DLL der API entweder herunterladen oder über NuGet installieren.
Install-Package Aspose.Slides.NET
PowerPoint-Formen
Aspose.Slides for .NET unterstützt eine Vielzahl von Formtypen, die Sie zu PowerPoint-Folien hinzufügen können. Zu den am häufigsten verwendeten Formen gehören:
Hinzufügen einer Form zu PowerPoint-Folien mit C#
Um eine Form hinzuzufügen, dh Ellipse, Linie, Rechteck usw., stellt Aspose.Slides die Methode IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single) bereit. Mit der Aufzählung ShapeType können Sie den Formtyp angeben, den Sie hinzufügen möchten. Im Folgenden finden Sie die Schritte zum Hinzufügen einer Form zu einer PowerPoint-Folie.
- Erstellen Sie eine Instanz der Klasse Presentation, um eine neue Präsentation zu erstellen oder eine vorhandene zu laden.
- Rufen Sie die Referenz einer Folie mit Presentation.Slides[index] in das Objekt ISlide ab.
- Fügen Sie eine Ellipse (oder eine beliebige andere Form) mit der methode IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single) hinzu, die vom Objekt IShapes bereitgestellt wird.
- Speichern Sie die PPTX Datei mit der methode Presentation.Save(String, SaveFormat).
Das folgende Codebeispiel zeigt, wie Sie mit C# eine Form zu einer PowerPoint-Folie hinzufügen.
// Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Holen Sie sich die erste Folie
ISlide sld = pres.Slides[0];
// Fügen Sie eine automatische Form vom Typ Ellipse hinzu
sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);
// Präsentation speichern
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Connector hinzufügen, um PowerPoint-Shapes in C# zu verbinden
Ein Verbinder ist eine Linie, die verwendet wird, um Formen zu verbinden, um sie zu verbinden. Ein Verbinder kann eine gerade oder eine gekrümmte Linie sein. Sehen wir uns an, wie Sie eine Verbindung zwischen zwei Formen in einer PowerPoint-Folie hinzufügen.
- Erstellen Sie eine Instanz der Klasse Presentation, um eine neue Präsentation zu erstellen.
- Rufen Sie die Referenz einer Folie mit Presentation.Slides[index] in das ISlide objekt ab.
- Fügen Sie zwei Formen hinzu, genau wie im vorherigen Beispiel, und erhalten Sie ihre Referenzen in IAutoShape objekten.
- Erstellen Sie ein neues IConnector objekt mit der methode IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
- Verbinden Sie die Formen mit den Eigenschaften IConnector.StartShapeConnectedTo und IConnector.EndShapeConnectedTo.
- Rufen Sie die Methode IConnector.Reroute() auf, um den kürzesten automatischen Verbindungspfad zu erstellen.
- Speichern Sie die PPTX Datei mit der methode Presentation.Save(String, SaveFormat).
Das folgende Codebeispiel zeigt, wie Formen in einer PowerPoint-Folie mit C# verbunden werden.
// Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Zugreifen auf die Formensammlung für die ausgewählte Folie
IShapeCollection shapes = pres.Slides[0].Shapes;
// Fügen Sie Autoshape-Ellipse hinzu
IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);
// Autoform-Rechteck hinzufügen
IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);
// Verbinderform zur Folienformsammlung hinzugefügt
IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);
// Shapes mit Verbindern verbinden
connector.StartShapeConnectedTo = ellipse;
connector.EndShapeConnectedTo = rectangle;
// Rufen Sie Reroute auf, um den automatisch kürzesten Pfad zwischen Shapes festzulegen
connector.Reroute();
// Präsentation speichern
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Klonen von Formen in PowerPoint-Folien mit C#
Mit Aspose.Slides for .NET können Sie auch Formen von einer PowerPoint-Folie auf eine andere klonen. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.
- Erstellen Sie eine Instanz der Klasse Presentation.
- Rufen Sie die Referenz einer Folie mit Presentation.Slides[index] in das ISlide objekt ab.
- Greifen Sie mit der Sammlung ISlide.Shapes auf die Quellfolienformen zu.
- Greifen Sie über die Sammlung ISlide.Shapes auf die Zielfolienformen zu.
- Klonen Sie mithilfe der Methode IShapeCollection.AddClone(ISlide) Formen aus der Formsammlung der Quellfolie auf die Zielfolie.
- Speichern Sie die aktualisierte Präsentationsdatei.
Das folgende Codebeispiel zeigt, wie Sie Formen in PowerPoint-Folien mit C# klonen.
// Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Erhalten Sie eine Formsammlung von der Quellfolie
IShapeCollection sourceShapes = pres.Slides[0].Shapes;
ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
// Holen Sie sich die Formsammlung von der Zielfolie
IShapeCollection destShapes = destSlide.Shapes;
destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
destShapes.AddClone(sourceShapes[2]);
// Klonform
destShapes.InsertClone(0, sourceShapes[0], 50, 150);
// Präsentation speichern
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Formen aus PowerPoint-Folien mit C# entfernen
Im Folgenden sind die Schritte zum Entfernen von Formen aus einer PowerPoint-Folie aufgeführt.
- Erstellen Sie eine Instanz der Klasse Presentation, um die PPTX Datei zu laden.
- Greifen Sie auf die gewünschte Folie über Presentation.Slides[index] in das Objekt ISlide zu.
- Suchen Sie die Form mit einem bestimmten IShape.AlternativeText.
- Entfernen Sie die Form mit der methode ISlide.Shapes.Remove(IShape).
- Speichern Sie die aktualisierte Präsentationsdatei.
Das folgende Codebeispiel zeigt, wie Sie mit C# Formen aus einer PowerPoint-Folie entfernen.
// Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Holen Sie sich die erste Folie
ISlide sld = pres.Slides[0];
// Fügen Sie eine automatische Form vom Typ Rechteck hinzu
IShape shp1 = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 40, 150, 50);
IShape shp2 = sld.Shapes.AddAutoShape(ShapeType.Moon, 160, 40, 150, 50);
String alttext = "User Defined";
int iCount = sld.Shapes.Count;
for (int i = 0; i < iCount; i++)
{
// Form abrufen
AutoShape ashp = (AutoShape)sld.Shapes[0];
if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
{
// Form entfernen
sld.Shapes.Remove(ashp);
}
}
// Präsentation speichern
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Fazit
Mit MS PowerPoint können Sie verschiedene Arten von Formen verwenden, um Ihre Folien ausführlicher zu gestalten. Sie können Ellipsen, Rechtecke, Linien usw. verwenden, um Ihre Formen und Verbindungen zu zeichnen, um sie zu verbinden. Anhand von Schritten und Codebeispielen behandelte dieser Artikel das programmgesteuerte Hinzufügen, Klonen und Entfernen von Formen in PowerPoint-Folien mit C#. Falls Sie mehr über die API erfahren möchten, können Sie die Dokumentation besuchen.