La firma digital es una forma conocida y comúnmente utilizada de proteger documentos digitales. Facilita la validación de la autenticidad del contenido de un documento. Por lo tanto, puede identificar si alguien intentó manipular el documento. MS PowerPoint también le permite firmar las presentaciones PPT o PPTX con firmas digitales. Para automatizar esta función mediante programación, este artículo cubre cómo agregar firmas digitales a archivos PPT de PowerPoint en Python.

Biblioteca de Python para firmar digitalmente PowerPoint PPT

Para agregar firmas digitales en presentaciones de PowerPoint, usaremos Aspose.Slides for Python via .NET. Es una poderosa biblioteca de Python que le permite crear y manipular presentaciones de PowerPoint sin escribir código complejo. Puede instalar la biblioteca desde PyPI usando el siguiente comando pip.

> pip install aspose.slides 

Agregar firma digital a PPT en Python

Para firmar un documento con una firma digital, primero debe obtener un certificado de una organización/persona autorizada conocida como autoridad de certificación. Este certificado se utiliza para identificar de forma única a la persona que lo posee.

Una vez que tenga el certificado digital, puede seguir los pasos a continuación para agregar firmas digitales a un PPT de PowerPoint en Python.

  • Primero, abra el PPT/PPTX usando la clase Presentation.
  • Luego, cargue la firma digital utilizando la clase DigitalSignature proporcionando la ruta y la contraseña del archivo.
  • Agregue comentarios usando la propiedad DigitalSignature.comments.
  • Agregue una firma digital a la presentación usando el método Presentation.digital\signatures.add(DigitalSignature).
  • Finalmente, guarde la presentación usando el método Presentation.save(string, SaveFormat).

El siguiente ejemplo de código muestra cómo agregar una firma digital a un PPT de 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)

Verificar un PPT firmado digitalmente en Python

Aspose.Slides también le permite verificar si un PPT firmado digitalmente está modificado o no. Los siguientes son los pasos para validar firmas digitales en una presentación de PowerPoint en Python.

  • Primero, abra el PPT/PPTX usando la clase Presentation.
  • Luego, verifique si PPT está firmado digitalmente o no.
  • Para cada firma digital en la colección Presentation.digital\signatures, realice los siguientes pasos.
    • Utilice DigitalSignature.is\valid para validar la firma.
    • Si devuelve falso, la presentación se modifica; de lo contrario, no.

El siguiente ejemplo de código muestra cómo validar firmas digitales en un PPT de 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.")

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para usar Aspose.Slides for Python a través de .NET sin limitaciones de evaluación.

Conclusión

En este artículo, aprendió cómo agregar firmas digitales a archivos PowerPoint PPT o PPTX en Python. Además, has visto cómo validar las firmas digitales para comprobar si la presentación está modificada o no. Puede explorar otras características de Aspose.Slides for Python utilizando la documentación. Además, puede hacer sus preguntas en nuestro foro.

Ver también