Protéger les fichiers PowerPoint en Python

Les documents numériques sont toujours susceptibles d’être falsifiés par des entités non autorisées. Par conséquent, divers mécanismes de protection sont utilisés pour assurer la sécurité des documents. Dans cet article, nous ciblerons particulièrement la protection des présentations MS PowerPoint. Vous apprendrez donc à verrouiller et déverrouiller des présentations PowerPoint par programmation en Python.

Bibliothèque Python pour verrouiller les présentations PowerPoint

Pour verrouiller et déverrouiller les présentations PowerPoint, nous utiliserons Aspose.Slides for Python via .NET. La bibliothèque fournit une gamme de fonctionnalités pour créer et manipuler des présentations PowerPoint. Vous pouvez installer la bibliothèque dans vos applications à partir de PyPI à l’aide de la commande suivante.

> pip install aspose.slides 

Verrouiller une présentation PowerPoint en Python

Une présentation PowerPoint peut contenir une variété d’éléments tels que du texte, des images, des formes, de l’audio, etc. Aspose.Slides for Python représente chaque élément sous la forme d’une forme ou d’un objet dérivé de la forme. Ainsi, afin de protéger le contenu contre la modification, nous devons verrouiller toutes les formes de la présentation. Ces formes pourraient être des types suivants :

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

Voyons comment verrouiller un fichier PowerPoint PPTX en Python.

  • Tout d’abord, chargez le fichier de présentation à l’aide de la classe Presentation.
  • Ensuite, obtenez la référence 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 mise à jour à l’aide de la méthode Presentation.save(string, SaveFormat).

L’exemple de code suivant montre comment protéger une présentation en verrouillant ses formes dans Python.

# load presentation
with slides.Presentation("presentation.pptx") as pres:

    # loop through all the slides in the presentation
    for slide in pres.slides:
        for shape in slide.shapes:
            # if shape is autoshape
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # apply locks
                auto_shape_lock.position_locked = True
                auto_shape_lock.select_locked = True
                auto_shape_lock.size_locked = True

            # if shape is group shape
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # apply locks
                group_shape_lock.grouping_locked = True
                group_shape_lock.position_locked = True
                group_shape_lock.select_locked = True
                group_shape_lock.size_locked = True

            # if shape is a connector
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # apply locks
                connector_lock.position_move = True
                connector_lock.select_locked = True
                connector_lock.size_locked = True

            # if shape is picture frame
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # apply locks
                picture_lock.position_locked = True
                picture_lock.select_locked = True
                picture_lock.size_locked = True

    # save the presentation file
    pres.save("Locked.pptx", slides.export.SaveFormat.PPTX)

Débloquer des présentations PowerPoint en Python

Pour déverrouiller une présentation PowerPoint, vous devez supprimer les verrous de chaque forme. Veuillez noter que si vous avez verrouillé la présentation à l’aide de Aspose.Slides for Python, vous devrez utiliser la même bibliothèque pour le déverrouillage. Pour supprimer les verrous, répétez les étapes mentionnées dans la section précédente et définissez les valeurs de verrou sur false.

L’exemple de code suivant montre comment déverrouiller une présentation PPTX en Python.

# load presentation
with slides.Presentation("Locked.pptx") as pres:

    # loop through all the slides in the presentation
    for slide in pres.slides:
        for shape in slide.shapes:
            # if shape is autoshape
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # remove locks
                auto_shape_lock.position_locked = False
                auto_shape_lock.select_locked = False
                auto_shape_lock.size_locked = False

            # if shape is group shape
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # remove locks
                group_shape_lock.grouping_locked = False
                group_shape_lock.position_locked = False
                group_shape_lock.select_locked = False
                group_shape_lock.size_locked = False

            # if remove is a connector
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # remove locks
                connector_lock.position_move = False
                connector_lock.select_locked = False
                connector_lock.size_locked = False

            # if shape is picture frame
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # remove locks
                picture_lock.position_locked = False
                picture_lock.select_locked = False
                picture_lock.size_locked = False

    # save the presentation file
    pres.save("Unlocked.pptx", slides.export.SaveFormat.PPTX)

Obtenez une licence gratuite

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

Conclusion

La protection des documents numériques est devenue essentielle pour éviter l’altération du contenu. Par conséquent, les documents sont protégés avant d’être partagés sur Internet. En conséquence, cet article a expliqué comment verrouiller des présentations PowerPoint par programme en Python. De plus, vous avez vu comment déprotéger les présentations en déverrouillant leurs éléments. En dehors de cela, vous pouvez en savoir plus sur Aspose.Slides for Python en visitant la documentation. Vous pouvez également poster vos questions sur notre forum.

Voir également