デジタル署名は、デジタル文書を保護するためのよく知られた一般的に使用される方法です。これにより、ドキュメント内のコンテンツの信頼性を簡単に検証できます。したがって、誰かがドキュメントを改ざんしようとしたかどうかを識別できます。 MS PowerPointでは、PPTまたはPPTXプレゼンテーションにデジタル署名を使用して署名することもできます。この機能をプログラムで自動化するために、この記事では、PythonでPowerPointPPTファイルにデジタル署名を追加する方法について説明します。
PowerPointPPTにデジタル署名するPythonライブラリ
PowerPointプレゼンテーションにデジタル署名を追加するには、Aspose.Slides for Python via .NETを使用します。これは、複雑なコードを記述せずにPowerPointプレゼンテーションを作成および操作できる強力なPythonライブラリです。次のpipコマンドを使用して、PyPIからライブラリをインストールできます。
> pip install aspose.slides
PythonでPPTにデジタル署名を追加する
デジタル署名を使用してドキュメントに署名するには、最初に、認証局と呼ばれる認定された組織/個人から証明書を取得する必要があります。この証明書は、それを所有する人を一意に識別するために使用されます。
デジタル証明書を取得したら、以下の手順に従って、PythonのPowerPointPPTにデジタル署名を追加できます。
- まず、Presentationクラスを使用してPPT/PPTXを開きます。
- 次に、ファイルのパスとパスワードを指定して、DigitalSignatureクラスを使用してデジタル署名をロードします。
- DigitalSignature.commentsプロパティを使用してコメントを追加します。
- Presentation.digital \ signatures.add(DigitalSignature)メソッドを使用して、プレゼンテーションにデジタル署名を追加します。
- 最後に、Presentation.save(string, SaveFormat)メソッドを使用してプレゼンテーションを保存します。
次のコードサンプルは、PythonでPowerPointPPTにデジタル署名を追加する方法を示しています。
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)
Pythonでデジタル署名されたPPTを確認する
Aspose.Slidesを使用すると、デジタル署名されたPPTが変更されているかどうかを確認することもできます。以下は、PythonのPowerPointプレゼンテーションでデジタル署名を検証する手順です。
- まず、Presentationクラスを使用してPPT/PPTXを開きます。
- 次に、PPTがデジタル署名されているかどうかを確認します。
- Presentation.digital \ signaturesコレクションのデジタル署名ごとに、次の手順を実行します。
- DigitalSignature.is \ validを使用して、署名を検証します。
- falseを返す場合、プレゼンテーションは変更されます。それ以外の場合は変更されません。
次のコードサンプルは、PythonのPowerPointPPTでデジタル署名を検証する方法を示しています。
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.")
無料ライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしに.NET経由でAspose.Slides for Pythonを使用できます。
結論
この記事では、PythonでPowerPointPPTまたはPPTXファイルにデジタル署名を追加する方法を学習しました。さらに、デジタル署名を検証して、プレゼンテーションが変更されているかどうかを確認する方法を見てきました。 ドキュメントを使用して、Python用のAspose.Slidesの他の機能を調べることができます。また、フォーラムで質問することもできます。