Verrouiller déverrouiller les formes dans PowerPoint PPT en C#

La protection des documents numériques est une préoccupation commune de nos jours. Vous ne voulez pas qu’une personne non autorisée modifie le contenu de vos documents. Par conséquent, il devient inévitable d’utiliser des mécanismes de protection efficaces. Par conséquent, dans cet article, nous vous montrerons comment protéger les présentations PPT/PPTX depuis vos applications .NET. Nous y parviendrons en verrouillant les formes dans un PowerPoint PPT ou PPTX en C#.

API C# .NET pour verrouiller les formes dans PowerPoint PPT

Pour verrouiller et déverrouiller les présentations PowerPoint, nous utiliserons Aspose.Slides for .NET. L’API fournit une gamme de fonctionnalités pour créer et manipuler des présentations PowerPoint. Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Slides.NET

Verrouiller les formes dans PowerPoint PPT en C#

Une présentation PowerPoint peut contenir une variété d’éléments tels que du texte, des images, de l’audio, etc. Aspose.Slides for .NET prend chaque élément comme une forme ou un objet dérivé de la forme. Ainsi, pour protéger le contenu des présentations, nous devons verrouiller toutes leurs formes. Aspose.Slides fournit des verrous appropriés pour les types de formes suivants.

  • Forme automatique
  • Forme du groupe
  • Connecteur
  • Cadre de l’image

Les étapes suivantes montrent comment verrouiller des formes dans un PPT PowerPoint en C#.

  • Tout d’abord, chargez le fichier PPT/PPTX à l’aide de la classe Presentation.
  • Ensuite, obtenez des diapositives dans la présentation à l’aide de la propriété Presentation.Slides.
  • Pour chaque diapositive, accédez à ses formes à l’aide de la collection ISlide.Shapes.
  • Pour chaque forme de la collection, procédez comme suit :
    • Vérifiez le type de forme.
    • Utilisez un verrou approprié en fonction du type de forme.
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.Save(string, SaveFormat).

L’exemple de code suivant montre comment verrouiller des formes dans un PowerPoint PPTX à l’aide de C#.

// Charger la présentation
using (Presentation presentation = new Presentation("presentation.pptx"))
{
    // Objet IShape pour contenir des formes temporaires
    IShape shape;

    // Parcourir toutes les diapositives de la présentation
    for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Parcourir toutes les formes dans les diapositives
        for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Si la forme est la forme automatique
            if (shape is IAutoShape)
            {
                // Tapez cast en forme automatique et obtenez un verrouillage automatique de la forme
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Appliquer des verrous de forme
                AutoShapeLock.PositionLocked = true;
                AutoShapeLock.SelectLocked = true;
                AutoShapeLock.SizeLocked = true;
            }

            // Si la forme est une forme de groupe
            else if (shape is IGroupShape)
            {
                // Tapez cast en forme de groupe et obtenez le verrouillage de la forme du groupe
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Appliquer des verrous de forme
                groupShapeLock.GroupingLocked = true;
                groupShapeLock.PositionLocked = true;
                groupShapeLock.SelectLocked = true;
                groupShapeLock.SizeLocked = true;
            }

            // Si la forme est un connecteur
            else if (shape is IConnector)
            {
                // Tapez coulé à la forme du connecteur et obtenez le verrouillage de la forme du connecteur
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Appliquer des verrous de forme
                ConnLock.PositionMove = true;
                ConnLock.SelectLocked = true;
                ConnLock.SizeLocked = true;
            }

            // Si la forme est un cadre photo
            else if (shape is IPictureFrame)
            {
                // Tapez la forme du cadre photo et obtenez le verrouillage de la forme du cadre photo
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Appliquer des verrous de forme
                PicLock.PositionLocked = true;
                PicLock.SelectLocked = true;
                PicLock.SizeLocked = true;
            }
        }
    }

    // Enregistrer la présentation
    presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}

Débloquer des présentations PowerPoint en C#

Pour déverrouiller les formes et les rendre modifiables, vous devrez désactiver les verrous. Veuillez noter que si vous avez verrouillé les formes à l’aide de Aspose.Slides for .NET, vous devrez utiliser la même API pour le déverrouillage. Le déverrouillage s’effectue en désactivant les verrous de forme et en définissant leurs valeurs sur false.

L’exemple de code suivant montre comment déverrouiller des formes dans un fichier PPTX en C#.

// Charger la présentation
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
    // Objet IShape pour contenir des formes temporaires
    IShape shape;

    // Parcourir toutes les diapositives de la présentation
    for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Parcourir toutes les formes dans les diapositives
        for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Si la forme est la forme automatique
            if (shape is IAutoShape)
            {
                // Tapez cast en forme automatique et obtenez un verrouillage automatique de la forme
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Déverrouiller la forme
                AutoShapeLock.PositionLocked = false;
                AutoShapeLock.SelectLocked = false;
                AutoShapeLock.SizeLocked = false;
            }

            // Si la forme est une forme de groupe
            else if (shape is IGroupShape)
            {
                // Tapez cast en forme de groupe et obtenez le verrouillage de la forme du groupe
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Déverrouiller la forme
                groupShapeLock.GroupingLocked = false;
                groupShapeLock.PositionLocked = false;
                groupShapeLock.SelectLocked = false;
                groupShapeLock.SizeLocked = false;
            }

            // Si la forme est un connecteur
            else if (shape is IConnector)
            {
                // Tapez coulé à la forme du connecteur et obtenez le verrouillage de la forme du connecteur
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Déverrouiller la forme
                ConnLock.PositionMove = false;
                ConnLock.SelectLocked = false;
                ConnLock.SizeLocked = false;
            }

            // Si la forme est un cadre photo
            else if (shape is IPictureFrame)
            {
                // Tapez la forme du cadre photo et obtenez le verrouillage de la forme du cadre photo
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Déverrouiller la forme
                PicLock.PositionLocked = false;
                PicLock.SelectLocked = false;
                PicLock.SizeLocked = false;
            }
        }
    }

    // Enregistrer la présentation
    presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}

Obtenez une licence gratuite

Utilisez Aspose.Slides for .NET sans limitation d’évaluation en obtenant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à verrouiller des formes dans PowerPoint PPT/PPTX en C#. De plus, vous avez vu comment déprotéger les présentations en déverrouillant leurs formes par programmation. En dehors de cela, vous pouvez en savoir plus sur Aspose.Slides for .NET en visitant la documentation. Vous pouvez également poster vos questions sur notre forum.

Voir également