A assinatura digital é uma forma bem conhecida e comumente usada de proteção de documentos digitais. Facilita a validação da autenticidade do conteúdo de um documento. Assim, você pode identificar se alguém tentou adulterar o documento. O MS PowerPoint também permite que você assine as apresentações PPT ou PPTX com assinaturas digitais. Para automatizar esse recurso programaticamente, este artigo aborda como adicionar assinaturas digitais a arquivos PPT do PowerPoint em Python.

Biblioteca Python para assinar digitalmente o PowerPoint PPT

Para adicionar assinaturas digitais em apresentações do PowerPoint, usaremos Aspose.Slides for Python via .NET. É uma poderosa biblioteca Python que permite criar e manipular apresentações do PowerPoint sem escrever código complexo. Você pode instalar a biblioteca de PyPI usando o seguinte comando pip.

> pip install aspose.slides 

Adicionar assinatura digital ao PPT em Python

Para assinar um documento com uma assinatura digital, primeiro você precisa obter um certificado de uma organização/pessoa autorizada conhecida como autoridade de certificação. Este certificado é usado para identificar exclusivamente a pessoa que o possui.

Depois de ter o certificado digital, você pode seguir as etapas abaixo para adicionar assinaturas digitais a um PowerPoint PPT em Python.

  • Primeiro, abra o PPT/PPTX usando a classe Apresentação.
  • Em seguida, carregue a assinatura digital usando a classe DigitalSignature fornecendo o caminho e a senha do arquivo.
  • Adicione comentários usando a propriedade DigitalSignature.comments.
  • Adicione assinatura digital à apresentação usando o método Presentation.digitalsignatures.add(DigitalSignature).
  • Finalmente, salve a apresentação usando o método Presentation.save(string, SaveFormat).

O exemplo de código a seguir mostra como adicionar uma assinatura digital a um PowerPoint PPT em Python.

import aspose.slides as slides

# Carregar apresentação
with slides.Presentation("presentation.pptx") as pres:
    # Criar objeto DigitalSignature com arquivo PFX e senha PFX 
    signature = slides.DigitalSignature("certificate.pfx", "password")

    # Comente nova assinatura digital
    signature.comments = "Signing with Aspose.Slides"

    # Adicionar assinatura digital à apresentação
    pres.digital_signatures.add(signature)

    # Salvar apresentação
    pres.save("SignedPPT.pptx", slides.export.SaveFormat.PPTX)

Verificar um PPT assinado digitalmente em Python

O Aspose.Slides também permite verificar se um PPT assinado digitalmente foi modificado ou não. A seguir estão as etapas para validar assinaturas digitais em uma apresentação do PowerPoint em Python.

  • Primeiro, abra o PPT/PPTX usando a classe Apresentação.
  • Em seguida, verifique se o PPT está assinado digitalmente ou não.
  • Para cada assinatura digital na coleção Presentation.digitalsignatures, execute as etapas a seguir.
    • Use DigitalSignature.isvalid para validar a assinatura.
    • Se retornar falso, a apresentação é modificada, caso contrário não.

O exemplo de código a seguir mostra como validar assinaturas digitais em um PowerPoint PPT em Python.

import aspose.slides as slides

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

        # Verifique se todas as assinaturas digitais são válidas
        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.")

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.Slides for Python via .NET sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como adicionar assinaturas digitais a arquivos PowerPoint PPT ou PPTX em Python. Além disso, você viu como validar as assinaturas digitais para verificar se a apresentação foi modificada ou não. Você pode explorar outros recursos do Aspose.Slides for Python usando a documentação. Além disso, você pode fazer suas perguntas em nosso fórum.

Veja também