Arbeiten Sie mit Formen in PowerPoint in Python

In PowerPoint-Präsentationen werden verschiedene Arten von Diagrammen verwendet, um den Inhalt ausführlicher zu gestalten. Diese Diagramme bestehen aus verschiedenen Formen wie Ellipsen, Linien, Rechtecken und Konnektoren. In diesem Artikel erfahren Sie, wie Sie Formen in PowerPoint-Folien programmgesteuert in Python hinzufügen, klonen und entfernen.

Python-Bibliothek zum Arbeiten mit PowerPoint-Formen

Aspose.Slides for Python via .NET wurde entwickelt, um PowerPoint-Präsentationen aus den Python-Anwendungen heraus zu erstellen und zu manipulieren. Wir werden diese Bibliothek verwenden, um mit Formen in PowerPoint-Folien zu arbeiten. Sie können es mit dem folgenden Pip-Befehl von PyPI installieren.

> pip install aspose.slides

Arten von Formen in PowerPoint

Mit Aspose.Slides for Python können Sie eine Vielzahl von Formen in PowerPoint-Präsentationen erstellen. Zu den am häufigsten verwendeten Formen gehören:

Hinzufügen einer Form zu PowerPoint-Folien in Python

Um eine beliebige Form hinzuzufügen, einschließlich Ellipse, Linie, Rechteck, wird die Methode addautoshape(ShapeType, Single, Single, Single, Single) verwendet, an die Sie den Typ der Form und andere erforderliche Parameter übergeben können. Die Aufzählung ShapeType wird verwendet, um den Typ der Form anzugeben. Im Folgenden sind die Schritte zum Hinzufügen einer Form zu einer PowerPoint-Folie in Python aufgeführt.

  1. Erstellen Sie eine Präsentation oder laden Sie eine vorhandene mithilfe der Präsentationsklasse.
  2. Rufen Sie die Referenz der gewünschten Folie aus der Presentation.slides-Sammlung ab.
  3. Fügen Sie eine Ellipse (oder eine andere Form) mit der Methode addautoshape(ShapeType, Single, Single, Single, Single) hinzu.
  4. Speichern Sie die Präsentation mit der Presentation.save(String, SaveFormat)-Methode.

Das folgende Codebeispiel zeigt, wie Sie einer PowerPoint-Folie in Python eine Form hinzufügen.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Erstellen Sie eine neue Präsentation
with slides.Presentation() as pres:
    # Holen Sie sich die erste Folie
    sld = pres.slides[0]

    # Fügen Sie eine automatische Form vom Typ Ellipse hinzu
    shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)

    # Wenden Sie einige Formatierungen auf die Ellipsenform an
    shp.fill_format.fill_type = slides.FillType.SOLID
    shp.fill_format.solid_fill_color.color = drawing.Color.pink

    # Wenden Sie eine Formatierung auf die Ellipsenlinie an
    shp.line_format.fill_format.fill_type = slides.FillType.SOLID
    shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
    shp.line_format.width = 5

    # Speichern Sie die PPTX-Datei auf der Festplatte
    pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)

Das Folgende ist die Ellipse, die wir mithilfe des obigen Codebeispiels hinzugefügt haben.

Hinzufügen einer Form zu PowerPoint PPT in Python

Verbinden Sie PowerPoint-Shapes mit einem Connector in Python

In Diagrammen werden verschiedene Formen über eine Linie, die als Verbinder bezeichnet wird, miteinander verbunden. Ein Verbinder kann eine gerade oder gekrümmte Linie sein. Sehen wir uns an, wie Sie in Python einen Verbinder zwischen zwei PowerPoint-Formen hinzufügen.

  1. Erstellen Sie zunächst eine Instanz der Präsentationsklasse, um eine Präsentation zu erstellen oder zu laden.
  2. Rufen Sie dann die Referenz einer Folie mithilfe der Presentation.slides-Sammlung ab.
  3. Fügen Sie zwei Formen hinzu, wie Sie sie im vorherigen Abschnitt hinzugefügt haben, und rufen Sie ihre Referenzen ab.
  4. Erstellen Sie einen Konnektor mit der Methode addconnector(ShapeType, Single, Single, Single, Single).
  5. Verbinden Sie die Shapes mit den Eigenschaften Connector.startshapeconnectedto und Connector.endshapeconnectedto.
  6. Rufen Sie die Methode Connector.reroute() auf, um den kürzesten automatischen Verbindungspfad zu erstellen.
  7. Speichern Sie schließlich die Präsentation mit der Presentation.save(string, SaveFormat)-Methode.

Das folgende Codebeispiel zeigt, wie Formen in einer PowerPoint-Folie in Python verbunden werden.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Präsentation erstellen
with slides.Presentation() as presentation:
    # Greifen Sie auf die Formensammlung für die ausgewählte Folie zu
    shapes = presentation.slides[0].shapes

    # Ellipse hinzufügen
    ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)

    # Automatisches Formrechteck hinzufügen
    rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)

    # Verbinder hinzufügen, um Shapes zu verbinden
    connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)

    # Formen mit Verbinder verbinden
    connector.start_shape_connected_to = ellipse
    connector.end_shape_connected_to = rectangle

    # Rufen Sie Reroute auf, um den automatisch kürzesten Pfad zwischen Shapes festzulegen
    connector.reroute()

    # Präsentation speichern
    presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)

Das Folgende ist der Screenshot der Präsentation nach dem Verbinden von Formen mit einem Verbinder.

Verbinden Sie PowerPoint-Shapes mit einem Connector in Python

Klonen Sie PowerPoint-Formen in Python

Manchmal entscheiden Sie sich dafür, Formen zu klonen, anstatt eine neue zu erstellen. Um dies zu erreichen, unterstützt Aspose.Slides das Klonen von Formen. Im Folgenden sind die Schritte zum Klonen einer Form in PowerPoint mit Python aufgeführt.

  1. Verwenden Sie zunächst die Präsentationsklasse, um die Präsentationsdatei zu laden.
  2. Rufen Sie die Referenz einer Folie aus der Presentation.slides-Sammlung ab.
  3. Greifen Sie auf die Quell- und Zielfolienformen aus der ISlide.shapes-Sammlung zu.
  4. Klonen Sie mithilfe der Methode addclone() Formen aus der Formsammlung der Quellfolie auf die Zielfolie.
  5. Speichern Sie abschließend die aktualisierte Präsentationsdatei.

Das folgende Codebeispiel zeigt, wie Formen in PowerPoint-Folien in Python geklont werden.

import aspose.slides as slides

# Präsentation laden
with slides.Presentation("add-ellipse.pptx") as presentation:
    # Greifen Sie auf Formen der Quellfolie zu
    sourceShapes = presentation.slides[0].shapes

    # Fügen Sie eine neue leere Folie hinzu
    blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
    destSlide = presentation.slides.add_empty_slide(blankLayout)

    # Greifen Sie auf Formen der Zielfolie zu
    destShapes = destSlide.shapes

    # Formen klonen
    destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
    destShapes.add_clone(sourceShapes[0])                 
    destShapes.insert_clone(0, sourceShapes[0], 50, 150)

    # Datei speichern
    presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)

Formen aus PowerPoint-Folien in Python entfernen

Sie können Formen auch aus PowerPoint-Präsentationen entfernen, indem Sie die folgenden Schritte ausführen.

  1. Erstellen Sie eine Instanz der Presentation-Klasse, um die PPT/PPTX-Datei zu laden.
  2. Greifen Sie auf die gewünschte Folie aus der Presentation.slides-Sammlung zu.
  3. Filtern Sie die gewünschte Form mit einem bestimmten Text mithilfe der Eigenschaft IShape.alternativetext.
  4. Entfernen Sie die Form mit der Methode ISlide.shapes.remove(IShape).
  5. Speichern Sie abschließend die aktualisierte Präsentationsdatei.

Das folgende Codebeispiel zeigt, wie Formen aus einer PowerPoint-Folie in Python entfernt werden.

# Präsentation laden
with slides.Presentation("add-ellipse.pptx") as presentation:
    # Holen Sie sich die erste Folie
    sld = presentation.slides[0]

    alttext = "User Defined"

    # Loop durch Formen
    for i in range(len(sld.shapes)):
        # Finden Sie die Form anhand des alternativen Textes
        ashp = sld.shapes[0]
        if ashp.alternative_text == alttext:
            sld.shapes.remove(ashp)

    # Datei speichern
    presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Slides für Python ohne Evaluierungseinschränkungen zu verwenden.

Fazit

MS PowerPoint unterstützt eine Reihe von Formen, um verschiedene Arten von Diagrammen wie Flussdiagramme zu erstellen. In diesem Artikel haben wir behandelt, wie Sie PowerPoint-Formen wie Ellipsen und Rechtecke erstellen und sie mithilfe von Konnektoren in Python verbinden. Darüber hinaus haben Sie gelernt, Formen in PowerPoint-Folien programmgesteuert zu klonen und zu entfernen. Weitere Informationen zu Aspose.Slides für Python finden Sie in der Dokumentation. Sie können uns auch gerne Ihre Fragen über unser Forum mitteilen.

Siehe auch