デジタルドキュメントは、許可されていないエンティティによって常に改ざんされる傾向があります。したがって、ドキュメントのセキュリティを確保するために、さまざまな保護メカニズムが使用されます。この記事では、特にMSPowerPointプレゼンテーションの保護を対象としています。そのため、PythonでプログラムによってPowerPointプレゼンテーションをロックおよびロック解除する方法を学習します。
- PowerPointプレゼンテーションをロックするPythonライブラリ
- PythonでPowerPointプレゼンテーションをロックする
- PythonでPowerPointプレゼンテーションのロックを解除する
PowerPointプレゼンテーションをロックするPythonライブラリ
PowerPointプレゼンテーションをロックおよびロック解除するには、Aspose.Slides for Python via .NETを使用します。ライブラリは、PowerPointプレゼンテーションを作成および操作するためのさまざまな機能を提供します。次のコマンドを使用して、PyPIからアプリケーションにライブラリをインストールできます。
> pip install aspose.slides
PythonでPowerPointプレゼンテーションをロックする
PowerPointプレゼンテーションには、テキスト、画像、図形、音声などのさまざまな要素が含まれる場合があります。Aspose.Slidesfor Pythonは、各要素をShapeまたはShapeから派生したオブジェクトとして表します。したがって、コンテンツが編集されないように保護するには、プレゼンテーション内のすべての図形をロックする必要があります。これらの形状は、次のタイプである可能性があります。
- オートシェイプ
- グループ形状
- コネクタ
- 額縁
PythonでPowerPoint PPTXファイルをロックする方法を見てみましょう。
- まず、Presentationクラスを使用してプレゼンテーションファイルをロードします。
- 次に、Presentation.slidesプロパティを使用して、プレゼンテーション内のスライドの参照を取得します。
- スライドごとに、ISlide.shapesコレクションを使用してその図形にアクセスします。
- コレクション内の形状ごとに、次の手順を実行します。
- 形状の種類を確認してください。
- 形状の種類に応じて適切なロックを使用してください。
- 最後に、Presentation.save(string, SaveFormat)メソッドを使用して、更新されたプレゼンテーションを保存します。
次のコードサンプルは、Pythonで図形をロックしてプレゼンテーションを保護する方法を示しています。
# load presentation
with slides.Presentation("presentation.pptx") as pres:
# loop through all the slides in the presentation
for slide in pres.slides:
for shape in slide.shapes:
# if shape is autoshape
if type(shape) is slides.AutoShape:
auto_shape_lock = shape.shape_lock
# apply locks
auto_shape_lock.position_locked = True
auto_shape_lock.select_locked = True
auto_shape_lock.size_locked = True
# if shape is group shape
elif type(shape) is slides.GroupShape:
group_shape_lock = shape.shape_lock
# apply locks
group_shape_lock.grouping_locked = True
group_shape_lock.position_locked = True
group_shape_lock.select_locked = True
group_shape_lock.size_locked = True
# if shape is a connector
elif type(shape) is slides.Connector:
connector_lock = shape.shape_lock
# apply locks
connector_lock.position_move = True
connector_lock.select_locked = True
connector_lock.size_locked = True
# if shape is picture frame
elif type(shape) is slides.PictureFrame:
picture_lock = shape.shape_lock
# apply locks
picture_lock.position_locked = True
picture_lock.select_locked = True
picture_lock.size_locked = True
# save the presentation file
pres.save("Locked.pptx", slides.export.SaveFormat.PPTX)
PythonでPowerPointプレゼンテーションのロックを解除する
PowerPointプレゼンテーションのロックを解除するには、各図形からロックを解除する必要があります。 Aspose.Slides for Pythonを使用してプレゼンテーションをロックした場合は、ロックを解除するために同じライブラリを使用する必要があることに注意してください。ロックを解除するには、前のセクションで説明した手順を繰り返し、ロック値をfalseに設定します。
次のコードサンプルは、PythonでPPTXプレゼンテーションのロックを解除する方法を示しています。
# load presentation
with slides.Presentation("Locked.pptx") as pres:
# loop through all the slides in the presentation
for slide in pres.slides:
for shape in slide.shapes:
# if shape is autoshape
if type(shape) is slides.AutoShape:
auto_shape_lock = shape.shape_lock
# remove locks
auto_shape_lock.position_locked = False
auto_shape_lock.select_locked = False
auto_shape_lock.size_locked = False
# if shape is group shape
elif type(shape) is slides.GroupShape:
group_shape_lock = shape.shape_lock
# remove locks
group_shape_lock.grouping_locked = False
group_shape_lock.position_locked = False
group_shape_lock.select_locked = False
group_shape_lock.size_locked = False
# if remove is a connector
elif type(shape) is slides.Connector:
connector_lock = shape.shape_lock
# remove locks
connector_lock.position_move = False
connector_lock.select_locked = False
connector_lock.size_locked = False
# if shape is picture frame
elif type(shape) is slides.PictureFrame:
picture_lock = shape.shape_lock
# remove locks
picture_lock.position_locked = False
picture_lock.select_locked = False
picture_lock.size_locked = False
# save the presentation file
pres.save("Unlocked.pptx", slides.export.SaveFormat.PPTX)
無料ライセンスを取得する
無料の一時ライセンスを取得することで、評価の制限なしに.NET経由でAspose.Slides for Pythonを使用できます。
結論
コンテンツの改ざんを防ぐために、デジタルドキュメントの保護が不可欠になっています。したがって、ドキュメントはインターネット上で共有される前に保護されます。したがって、この記事では、PythonでPowerPointプレゼンテーションをプログラムでロックする方法について説明しました。さらに、要素のロックを解除してプレゼンテーションの保護を解除する方法を見てきました。それとは別に、ドキュメントにアクセスすると、Python用のAspose.Slidesについて詳しく知ることができます。また、フォーラムにクエリを投稿することもできます。