Цифровая подпись — это хорошо известный и часто используемый способ защиты цифровых документов. Это упрощает проверку подлинности содержимого документа. Таким образом, вы можете определить, пытался ли кто-то подделать документ. MS PowerPoint также позволяет подписывать презентации PPT или PPTX цифровой подписью. Чтобы автоматизировать эту функцию программно, в этой статье рассказывается, как добавлять цифровые подписи в файлы PowerPoint PPT в Python.

Библиотека Python для цифровой подписи PowerPoint PPT

Чтобы добавить цифровые подписи в презентации PowerPoint, мы будем использовать Aspose.Slides для Python через .NET. Это мощная библиотека Python, которая позволяет создавать презентации PowerPoint и управлять ими без написания сложного кода. Вы можете установить библиотеку из PyPI с помощью следующей команды pip.

> pip install aspose.slides 

Добавить цифровую подпись в PPT на Python

Чтобы подписать документ цифровой подписью, сначала необходимо получить сертификат от уполномоченной организации/лица, известного как центр сертификации. Этот сертификат используется для уникальной идентификации человека, которому он принадлежит.

Получив цифровой сертификат, вы можете выполнить следующие шаги, чтобы добавить цифровые подписи в PowerPoint PPT на Python.

  • Сначала откройте PPT/PPTX с помощью класса Presentation.
  • Затем загрузите цифровую подпись с помощью класса DigitalSignature, указав путь к файлу и пароль.
  • Добавьте комментарии, используя свойство DigitalSignature.comments.
  • Добавьте цифровую подпись к презентации с помощью метода Presentation.digitalsignatures.add(DigitalSignature).
  • Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).

В следующем примере кода показано, как добавить цифровую подпись в PowerPoint PPT в 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)

Проверка PPT с цифровой подписью в Python

Aspose.Slides также позволяет вам проверить, изменен ли PPT с цифровой подписью или нет. Ниже приведены шаги для проверки цифровых подписей в презентации PowerPoint на Python.

  • Сначала откройте PPT/PPTX с помощью класса Presentation.
  • Затем проверьте, имеет ли PPT цифровую подпись или нет.
  • Для каждой цифровой подписи в коллекции Presentation.digitalsignatures выполните следующие действия.
    • Используйте DigitalSignature.isvalid для проверки подписи.
    • Если он возвращает false, презентация изменяется, в противном случае это не так.

В следующем примере кода показано, как проверять цифровые подписи в PowerPoint PPT на 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.")

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию для использования Aspose.Slides for Python через .NET без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как добавлять цифровые подписи в файлы PowerPoint PPT или PPTX в Python. Кроме того, вы видели, как проверять цифровые подписи, чтобы проверить, изменена ли презентация или нет. Вы можете изучить другие функции Aspose.Slides для Python, используя документацию. Также вы можете задать свои вопросы на нашем форуме.

Смотрите также