La signature numérique est un moyen bien connu et couramment utilisé pour protéger les documents numériques. Il facilite la validation de l’authenticité du contenu d’un document. Ainsi, vous pouvez identifier si quelqu’un a tenté de falsifier le document. MS PowerPoint vous permet également de signer les présentations PPT ou PPTX avec des signatures numériques. Pour automatiser cette fonctionnalité par programme, cet article explique comment ajouter des signatures numériques aux fichiers PowerPoint PPT en Python.

Bibliothèque Python pour signer numériquement PowerPoint PPT

Pour ajouter des signatures numériques dans les présentations PowerPoint, nous utiliserons Aspose.Slides for Python via .NET. Il s’agit d’une puissante bibliothèque Python qui vous permet de créer et de manipuler des présentations PowerPoint sans écrire de code complexe. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande pip suivante.

> pip install aspose.slides 

Ajouter une signature numérique à PPT en Python

Pour signer un document avec une signature numérique, vous devez d’abord obtenir un certificat d’une organisation/personne autorisée connue sous le nom d’autorité de certification. Ce certificat est utilisé pour identifier de manière unique la personne qui en est propriétaire.

Une fois que vous avez le certificat numérique, vous pouvez suivre les étapes ci-dessous pour ajouter des signatures numériques à un PPT PowerPoint en Python.

  • Tout d’abord, ouvrez le PPT/PPTX en utilisant la classe Presentation.
  • Ensuite, chargez la signature numérique à l’aide de la classe DigitalSignature en fournissant le chemin et le mot de passe du fichier.
  • Ajoutez des commentaires à l’aide de la propriété DigitalSignature.comments.
  • Ajoutez une signature numérique à la présentation à l’aide de la méthode Presentation.digitalsignatures.add(DigitalSignature).
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).

L’exemple de code suivant montre comment ajouter une signature numérique à un PPT PowerPoint en Python.

import aspose.slides as slides

# Load presentation
with slides.Presentation("presentation.pptx") as pres:
    # Create DigitalSignature object with PFX file and PFX password 
    signature = slides.DigitalSignature("certificate.pfx", "password")

    # Comment new digital signature
    signature.comments = "Signing with Aspose.Slides"

    # Add digital signature to presentation
    pres.digital_signatures.add(signature)

    # Save presentation
    pres.save("SignedPPT.pptx", slides.export.SaveFormat.PPTX)

Vérifier un PPT signé numériquement en Python

Aspose.Slides vous permet également de vérifier si un PPT signé numériquement est modifié ou non. Voici les étapes pour valider les signatures numériques dans une présentation PowerPoint en Python.

  • Tout d’abord, ouvrez le PPT/PPTX en utilisant la classe Presentation.
  • Ensuite, vérifiez si PPT est signé numériquement ou non.
  • Pour chaque signature numérique de la collection Presentation.digitalsignatures, procédez comme suit.
    • Utilisez DigitalSignature.isvalid pour valider la signature.
    • S’il retourne faux, la présentation est modifiée sinon elle ne l’est pas.

L’exemple de code suivant montre comment valider les signatures numériques dans un PPT PowerPoint en Python.

import aspose.slides as slides

# Load presentation
with slides.Presentation("presentation.pptx") as pres:
    if len(pres.digital_signatures) > 0:
        allSignaturesAreValid = True
        print("Signatures used to sign the presentation: ")

        # Check if all digital signatures are valid
        for signature in pres.digital_signatures :
            print(signature.certificate.subject_name.name + ", "
                    + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID")
            allSignaturesAreValid = allSignaturesAreValid and signature.is_valid

        if allSignaturesAreValid:
            print("Presentation is original, all signatures are valid.")
        else:
            print("Presentation has been modified.")

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser Aspose.Slides for Python via .NET sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à ajouter des signatures numériques aux fichiers PowerPoint PPT ou PPTX en Python. De plus, vous avez vu comment valider les signatures numériques pour vérifier si la présentation est modifiée ou non. Vous pouvez explorer d’autres fonctionnalités d’Aspose.Slides for Python à l’aide de la documentation. Vous pouvez également poser vos questions sur notre forum.

Voir également