數字簽名 是一種眾所周知且常用的保護數字文檔的方法。它可以更輕鬆地驗證文檔中內容的真實性。因此,您可以確定是否有人試圖篡改文檔。 MS PowerPoint 還允許您使用數字簽名對 PPT 或 PPTX 演示文稿進行簽名。為了以編程方式自動執行此功能,本文介紹瞭如何使用 Python 將數字簽名添加到 PowerPoint PPT 文件。
用於對 PowerPoint PPT 進行數字簽名的 Python 庫
要在 PowerPoint 演示文稿中添加數字簽名,我們將使用 Aspose.Slides for Python via .NET。它是一個功能強大的 Python 庫,使您無需編寫複雜的代碼即可創建和操作 PowerPoint 演示文稿。您可以使用以下 pip 命令從 PyPI 安裝庫。
> pip install aspose.slides
用Python給PPT添加數字簽名
要使用數字簽名簽署文檔,您首先需要從被稱為證書頒發機構的授權組織/個人獲得證書。該證書用於唯一標識擁有它的人。
獲得數字證書後,您可以按照以下步驟在 Python 中為 PowerPoint PPT 添加數字簽名。
- 首先,使用 Presentation 類打開 PPT/PPTX。
- 然後,通過提供文件路徑和密碼,使用 DigitalSignature 類加載數字簽名。
- 使用 DigitalSignature.comments 屬性添加評論。
- 使用 Presentation.digitalsignatures.add(DigitalSignature) 方法向演示文稿添加數字簽名。
- 最後,使用 Presentation.save(string, SaveFormat) 方法保存演示文稿。
以下代碼示例展示瞭如何使用 Python 向 PowerPoint PPT 添加數字簽名。
import aspose.slides as slides
# 負載演示
with slides.Presentation("presentation.pptx") as pres:
# 使用 PFX 文件和 PFX 密碼創建 DigitalSignature 對象
signature = slides.DigitalSignature("certificate.pfx", "password")
# 評論新的數字簽名
signature.comments = "Signing with Aspose.Slides"
# 向演示文稿添加數字簽名
pres.digital_signatures.add(signature)
# 保存演示文稿
pres.save("SignedPPT.pptx", slides.export.SaveFormat.PPTX)
在 Python 中驗證數字簽名的 PPT
Aspose.Slides 還允許您驗證數字簽名的 PPT 是否被修改。以下是使用 Python 驗證 PowerPoint 演示文稿中的數字簽名的步驟。
- 首先,使用 Presentation 類打開 PPT/PPTX。
- 然後,檢查 PPT 是否經過數字簽名。
- 對於 Presentation.digitalsignatures 集合中的每個數字簽名,執行以下步驟。
- 使用 DigitalSignature.isvalid 來驗證簽名。
- 如果它返回 false,則表示會被修改,否則不會。
以下代碼示例顯示瞭如何使用 Python 驗證 PowerPoint PPT 中的數字簽名。
import aspose.slides as slides
# 負載演示
with slides.Presentation("presentation.pptx") as pres:
if len(pres.digital_signatures) > 0:
allSignaturesAreValid = True
print("Signatures used to sign the presentation: ")
# 檢查所有數字簽名是否有效
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.")
獲得免費許可證
您可以獲得免費臨時許可證,通過 .NET 使用 Aspose.Slides for Python,沒有評估限制。
結論
在本文中,您了解瞭如何使用 Python 為 PowerPoint PPT 或 PPTX 文件添加數字簽名。此外,您還了解瞭如何驗證數字簽名以檢查演示文稿是否被修改。您可以使用 文檔 探索 Aspose.Slides for Python 的其他功能。此外,您可以在我們的 論壇 上提問。