Anwendung von Schutz auf Präsentationen

Zusammensetzung einer Folie

Eine PPTX-Folie besteht aus mehreren Komponenten wie Autoformen, Tabellen, OLE-Objekten, gruppierten Formen, Bildrahmen, Video-Frames, Verbindern und verschiedenen anderen Elementen, die zum Erstellen einer Präsentation zur Verfügung stehen.

In Aspose.Slides für Python über .NET wird jedes Element auf einer Folie in ein Shape-Objekt umgewandelt. Mit anderen Worten, jedes Element auf der Folie ist entweder ein Shape-Objekt oder ein von Shape abgeleitetes Objekt.

Die Struktur von PPTX ist komplex, sodass im Gegensatz zu PPT, wo ein generischer Schließmechanismus für alle Formen verwendet werden kann, es unterschiedliche Arten von Schließmechanismen für verschiedene Formtypen gibt. Die Klasse BaseShapeLock ist die generische PPTX-Sperrklasse. Die folgenden Arten von Sperren werden in Aspose.Slides für Python über .NET für PPTX unterstützt.

  • AutoShapeLock sperrt Autoformen.
  • ConnectorLock sperrt Verbindungselemente.
  • GraphicalObjectLock sperrt grafische Objekte.
  • GroupshapeLock sperrt Gruppenformen.
  • PictureFrameLock sperrt Bildrahmen.

Jede Aktion, die auf alle Shape-Objekte in einem Präsentationsobjekt ausgeführt wird, wird auf die gesamte Präsentation angewendet.

Anwendung und Entfernung von Schutz

Der angewandte Schutz stellt sicher, dass eine Präsentation nicht bearbeitet werden kann. Es ist eine nützliche Technik, um den Inhalt einer Präsentation zu schützen.

Anwendung von Schutz auf PPTX-Formen

Aspose.Slides für Python über .NET bietet die Shape-Klasse, um eine Form auf der Folie zu handhaben.

Wie bereits erwähnt, hat jede Formklasse eine zugehörige Shape-Lock-Klasse zum Schutz. Dieser Artikel konzentriert sich auf die NoSelect-, NoMove- und NoResize-Sperren. Diese Sperren sorgen dafür, dass Formen nicht ausgewählt (durch Mausklicks oder andere Auswahlmethoden) und nicht verschoben oder in der Größe verändert werden können.

Die folgenden Codebeispiele wenden Schutz auf alle Formtypen in einer Präsentation an.

import aspose.slides as slides

#Instantiere die Präsentationsklasse, die eine PPTX-Datei darstellt
with slides.Presentation(path + "RectPicFrame.pptx") as pres:
    #ISlide-Objekt zum Zugriff auf die Folien in der Präsentation
    slide = pres.slides[0]

    #Durchlaufen aller Folien in der Präsentation
    for slide in pres.slides:
        for shape in slide.shapes:
            #wenn die Form eine Autoform ist
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                #Anwenden von Form-Sperren
                auto_shape_lock.position_locked = True
                auto_shape_lock.select_locked = True
                auto_shape_lock.size_locked = True

            #wenn die Form eine Gruppenform ist
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                #Anwenden von Form-Sperren
                group_shape_lock.grouping_locked = True
                group_shape_lock.position_locked = True
                group_shape_lock.select_locked = True
                group_shape_lock.size_locked = True

            #wenn die Form ein Verbindungselement ist
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                #Anwenden von Form-Sperren
                connector_lock.position_move = True
                connector_lock.select_locked = True
                connector_lock.size_locked = True
            #wenn die Form ein Bildrahmen ist
            elif type(shape) is slides.PictureFrame:
                #Typumwandlung zu Bildrahmenform und Abrufen der Bildrahmen-Sperre
                picture_lock = shape.shape_lock

                #Anwenden von Form-Sperren
                picture_lock.position_locked = True
                picture_lock.select_locked = True
                picture_lock.size_locked = True

    #Speichern der Präsentationsdatei
    pres.save("ProtectedSample.pptx", slides.export.SaveFormat.PPTX)

Entfernen von Schutz

Der mit Aspose.Slides für Python über .NET angewandte Schutz kann nur mit Aspose.Slides für Python über .NET entfernt werden. Um eine Form zu entsperren, setzen Sie den Wert der angewandten Sperre auf false. Das folgende Codebeispiel zeigt, wie Formen in einer gesperrten Präsentation entsperrt werden.

import aspose.slides as slides

#Öffnen der gewünschten Präsentation
with slides.Presentation("ProtectedSample.pptx") as pres:
    for slide in pres.slides:
        for shape in slide.shapes:
            
            if type(shape) is slides.AutoShape: 
                auto_shape_lock = shape.shape_lock

                #Anwenden von Form-Sperren
                auto_shape_lock.position_locked = False
                auto_shape_lock.select_locked = False
                auto_shape_lock.size_locked = False
            
            elif type(shape) is slides.GroupShape:  
                group_shape_lock = shape.shape_lock

                #Anwenden von Form-Sperren
                group_shape_lock.grouping_locked = False
                group_shape_lock.position_locked = False
                group_shape_lock.select_locked = False
                group_shape_lock.size_locked = False
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                #Anwenden von Form-Sperren
                connector_lock.position_move = False
                connector_lock.select_locked = False
                connector_lock.size_locked = False
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                #Anwenden von Form-Sperren
                picture_lock.position_locked = False
                picture_lock.select_locked = False
                picture_lock.size_locked = False
    #Speichern der Präsentationsdatei
    pres.save("RemoveProtectionSample.pptx", slides.export.SaveFormat.PPTX)

Zusammenfassung