digitální podpis je dobře známý a běžně používaný způsob ochrany digitálních dokumentů. Usnadňuje ověření pravosti obsahu dokumentu. Můžete tak identifikovat, zda se někdo pokusil o manipulaci s dokumentem. MS PowerPoint také umožňuje podepisovat prezentace PPT nebo PPTX digitálními podpisy. Chcete-li tuto funkci automatizovat programově, tento článek popisuje, jak přidat digitální podpisy do souborů PowerPoint PPT v Pythonu.

Knihovna Pythonu pro digitální podepisování PowerPoint PPT

K přidávání digitálních podpisů do prezentací PowerPoint použijeme Aspose.Slides pro Python přes .NET. Je to výkonná knihovna Pythonu, která vám umožňuje vytvářet a manipulovat s prezentacemi v PowerPointu bez psaní složitého kódu. Knihovnu můžete nainstalovat z PyPI pomocí následujícího příkazu pip.

> pip install aspose.slides 

Přidejte digitální podpis do PPT v Pythonu

Chcete-li podepsat dokument digitálním podpisem, musíte nejprve získat certifikát od oprávněné organizace/osoby známé jako certifikační autorita. Tento certifikát slouží k jednoznačné identifikaci osoby, která jej vlastní.

Jakmile budete mít digitální certifikát, můžete podle níže uvedených kroků přidat digitální podpisy do PowerPoint PPT v Pythonu.

  • Nejprve otevřete PPT/PPTX pomocí třídy Presentation.
  • Poté načtěte digitální podpis pomocí třídy DigitalSignature zadáním cesty k souboru a hesla.
  • Přidejte komentáře pomocí vlastnosti DigitalSignature.comments.
  • Přidejte digitální podpis do prezentace pomocí metody Presentation.digitalsignatures.add(DigitalSignature).
  • Nakonec prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).

Následující ukázka kódu ukazuje, jak přidat digitální podpis do PowerPoint PPT v Pythonu.

import aspose.slides as slides

# Načíst prezentaci
with slides.Presentation("presentation.pptx") as pres:
    # Vytvořte objekt DigitalSignature se souborem PFX a heslem PFX 
    signature = slides.DigitalSignature("certificate.pfx", "password")

    # Komentář k novému digitálnímu podpisu
    signature.comments = "Signing with Aspose.Slides"

    # Přidejte k prezentaci digitální podpis
    pres.digital_signatures.add(signature)

    # Uložit prezentaci
    pres.save("SignedPPT.pptx", slides.export.SaveFormat.PPTX)

Ověřte digitálně podepsaný PPT v Pythonu

Aspose.Slides také umožňuje ověřit, zda je digitálně podepsaný PPT upraven nebo ne. Následují kroky k ověření digitálních podpisů v prezentaci PowerPoint v Pythonu.

  • Nejprve otevřete PPT/PPTX pomocí třídy Presentation.
  • Poté zkontrolujte, zda je PPT digitálně podepsán nebo ne.
  • Pro každý digitální podpis v kolekci Presentation.digitalsignatures proveďte následující kroky.
    • Použijte DigitalSignature.isvalid k ověření podpisu.
    • Pokud vrátí hodnotu false, prezentace se upraví, jinak tomu tak není.

Následující ukázka kódu ukazuje, jak ověřit digitální podpisy v PowerPoint PPT v Pythonu.

import aspose.slides as slides

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

        # Zkontrolujte, zda jsou všechny digitální podpisy platné
       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.")

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci k používání Aspose.Slides pro Python přes .NET bez omezení hodnocení.

Závěr

V tomto článku jste se naučili, jak přidat digitální podpisy do souborů PowerPoint PPT nebo PPTX v Pythonu. Kromě toho jste viděli, jak ověřit digitální podpisy, abyste zkontrolovali, zda je prezentace upravena nebo ne. Další funkce Aspose.Slides pro Python můžete prozkoumat pomocí dokumentace. Také se můžete ptát na našem fóru.

Viz také