Arbeiten mit Formen in Folien in C#.jpg

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

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.

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.

  1. Erstellen Sie eine Instanz der Klasse Presentation, um eine neue Präsentation zu erstellen.
  2. Rufen Sie die Referenz einer Folie mit Presentation.Slides[index] in das ISlide objekt ab.
  3. Fügen Sie zwei Formen hinzu, genau wie im vorherigen Beispiel, und erhalten Sie ihre Referenzen in IAutoShape objekten.
  4. Erstellen Sie ein neues IConnector objekt mit der methode IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. Verbinden Sie die Formen mit den Eigenschaften IConnector.StartShapeConnectedTo und IConnector.EndShapeConnectedTo.
  6. Rufen Sie die Methode IConnector.Reroute() auf, um den kürzesten automatischen Verbindungspfad zu erstellen.
  7. 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.

  1. Erstellen Sie eine Instanz der Klasse Presentation.
  2. Rufen Sie die Referenz einer Folie mit Presentation.Slides[index] in das ISlide objekt ab.
  3. Greifen Sie mit der Sammlung ISlide.Shapes auf die Quellfolienformen zu.
  4. Greifen Sie über die Sammlung ISlide.Shapes auf die Zielfolienformen zu.
  5. Klonen Sie mithilfe der Methode IShapeCollection.AddClone(ISlide) Formen aus der Formsammlung der Quellfolie auf die Zielfolie.
  6. 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.

  1. Erstellen Sie eine Instanz der Klasse Presentation, um die PPTX Datei zu laden.
  2. Greifen Sie auf die gewünschte Folie über Presentation.Slides[index] in das Objekt ISlide zu.
  3. Suchen Sie die Form mit einem bestimmten IShape.AlternativeText.
  4. Entfernen Sie die Form mit der methode ISlide.Shapes.Remove(IShape).
  5. 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.

Siehe auch