Entsperren von Formen in PowerPoint PPT in C#

Der Schutz digitaler Dokumente ist heutzutage ein allgemeines Anliegen. Sie möchten nicht, dass unbefugte Personen den Inhalt Ihrer Dokumente ändern. Daher ist es unumgänglich, wirksame Schutzmechanismen einzusetzen. Dementsprechend zeigen wir Ihnen in diesem Artikel, wie Sie PPT/PPTX-Präsentationen aus Ihren .NET-Anwendungen heraus schützen können. Wir werden dies erreichen, indem wir die Formen in einem PowerPoint PPT oder PPTX in C# sperren.

C# .NET-API zum Sperren von Formen in PowerPoint PPT

Zum Sperren und Entsperren von PowerPoint-Präsentationen verwenden wir Aspose.Slides for .NET. Die API bietet eine Reihe von Funktionen zum Erstellen und Bearbeiten von PowerPoint-Präsentationen. Sie können die DLL der API entweder herunterladen oder mit NuGet installieren.

PM> Install-Package Aspose.Slides.NET

Formen in PowerPoint PPT in C# sperren

Eine PowerPoint-Präsentation kann eine Vielzahl von Elementen wie Text, Bilder, Audio usw. enthalten. Aspose.Slides für .NET nimmt jedes Element als eine Form oder ein von Shape abgeleitetes Objekt. Um den Inhalt der Präsentationen zu schützen, müssen wir also alle ihre Formen sperren. Aspose.Slides bietet geeignete Sperren für die folgenden Arten von Formen.

  • Automatische Form
  • Gruppenform
  • Verbinder
  • Bilderrahmen

Die folgenden Schritte zeigen, wie Formen in einer PowerPoint-PPT in C# gesperrt werden.

  • Laden Sie zuerst die PPT/PPTX-Datei mit der Präsentationsklasse.
  • Rufen Sie dann mithilfe der Presentation.Slides-Eigenschaft Folien in der Präsentation ab.
  • Greifen Sie für jede Folie mithilfe der ISlide.Shapes-Auflistung auf ihre Formen zu.
  • Führen Sie für jede Form in der Sammlung die folgenden Schritte aus:
    • Überprüfen Sie die Art der Form.
    • Verwenden Sie je nach Art der Form ein geeignetes Schloss.
  • Speichern Sie schließlich die Präsentation mit der Presentation.Save(string, SaveFormat)-Methode.

Das folgende Codebeispiel zeigt, wie Formen in einem PowerPoint-PPTX mit C# gesperrt werden.

// Präsentation laden
using (Presentation presentation = new Presentation("presentation.pptx"))
{
    // IShape-Objekt zum Halten temporärer Formen
    IShape shape;

    // Gehen Sie alle Folien in der Präsentation durch
    for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Durchqueren Sie alle Formen in den Folien
        for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Wenn die Form eine automatische Form ist
            if (shape is IAutoShape)
            {
                // Geben Sie Cast to Auto Shape ein und erhalten Sie die automatische Formsperre
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Formsperren anwenden
                AutoShapeLock.PositionLocked = true;
                AutoShapeLock.SelectLocked = true;
                AutoShapeLock.SizeLocked = true;
            }

            // Wenn die Form eine Gruppenform ist
            else if (shape is IGroupShape)
            {
                // Geben Sie Umwandlung in Gruppenform ein und erhalten Sie Gruppenformsperre
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Formsperren anwenden
                groupShapeLock.GroupingLocked = true;
                groupShapeLock.PositionLocked = true;
                groupShapeLock.SelectLocked = true;
                groupShapeLock.SizeLocked = true;
            }

            // Wenn die Form ein Verbinder ist
            else if (shape is IConnector)
            {
                // Geben Sie Umwandlung in Verbinderform ein und erhalten Sie die Verbinderformsperre
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Formsperren anwenden
                ConnLock.PositionMove = true;
                ConnLock.SelectLocked = true;
                ConnLock.SizeLocked = true;
            }

            // Wenn Form Bilderrahmen ist
            else if (shape is IPictureFrame)
            {
                // Geben Sie Cast to Picture Frame Shape ein und erhalten Sie die Bilderrahmenform-Sperre
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Formsperren anwenden
                PicLock.PositionLocked = true;
                PicLock.SelectLocked = true;
                PicLock.SizeLocked = true;
            }
        }
    }

    // Präsentation speichern
    presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}

Entsperren Sie PowerPoint-Präsentationen in C#

Um die Formen zu entsperren und bearbeitbar zu machen, müssen Sie die Sperren deaktivieren. Bitte beachten Sie, dass Sie, wenn Sie die Formen mit Aspose.Slides für .NET gesperrt haben, dieselbe API zum Entsperren verwenden müssen. Das Entsperren erfolgt durch Deaktivieren der Formsperren und Festlegen ihrer Werte auf „false“.

Das folgende Codebeispiel zeigt, wie Formen in einer PPTX-Datei in C# entsperrt werden.

// Präsentation laden
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
    // IShape-Objekt zum Halten temporärer Formen
    IShape shape;

    // Gehen Sie alle Folien in der Präsentation durch
    for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Durchqueren Sie alle Formen in den Folien
        for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Wenn die Form eine automatische Form ist
            if (shape is IAutoShape)
            {
                // Geben Sie Cast to Auto Shape ein und erhalten Sie die automatische Formsperre
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Form freischalten
                AutoShapeLock.PositionLocked = false;
                AutoShapeLock.SelectLocked = false;
                AutoShapeLock.SizeLocked = false;
            }

            // Wenn die Form eine Gruppenform ist
            else if (shape is IGroupShape)
            {
                // Geben Sie Umwandlung in Gruppenform ein und erhalten Sie Gruppenformsperre
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Form freischalten
                groupShapeLock.GroupingLocked = false;
                groupShapeLock.PositionLocked = false;
                groupShapeLock.SelectLocked = false;
                groupShapeLock.SizeLocked = false;
            }

            // Wenn die Form ein Verbinder ist
            else if (shape is IConnector)
            {
                // Geben Sie Umwandlung in Verbinderform ein und erhalten Sie die Verbinderformsperre
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Form freischalten
                ConnLock.PositionMove = false;
                ConnLock.SelectLocked = false;
                ConnLock.SizeLocked = false;
            }

            // Wenn Form Bilderrahmen ist
            else if (shape is IPictureFrame)
            {
                // Geben Sie Cast to Picture Frame Shape ein und erhalten Sie die Bilderrahmenform-Sperre
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Form freischalten
                PicLock.PositionLocked = false;
                PicLock.SelectLocked = false;
                PicLock.SizeLocked = false;
            }
        }
    }

    // Präsentation speichern
    presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}

Holen Sie sich eine kostenlose Lizenz

Verwenden Sie Aspose.Slides für .NET ohne Evaluierungseinschränkungen, indem Sie eine kostenlose temporäre Lizenz erhalten.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Formen in PowerPoint PPT/PPTX in C# sperren. Darüber hinaus haben Sie gesehen, wie Sie den Schutz der Präsentationen aufheben, indem Sie ihre Formen programmgesteuert entsperren. Abgesehen davon können Sie mehr über Aspose.Slides für .NET erfahren, indem Sie die Dokumentation besuchen. Sie können Ihre Fragen auch in unserem Forum posten.

Siehe auch