Protect PowerPoint Files in Python

Digital documents are always prone to be tampered with by unauthorized entities. Therefore, various protection mechanisms are used to ensure the security of the documents. In this article, we will particularly target the protection of MS PowerPoint presentations. So you will learn how to lock and unlock PowerPoint presentations programmatically in Python.

Python Library to Lock PowerPoint Presentations

To lock and unlock PowerPoint presentations, we will use Aspose.Slides for Python via .NET. The library provides a range of features to create and manipulate PowerPoint presentations. You can install the library in your applications from PyPI using the following command.

> pip install aspose.slides 

Lock a PowerPoint Presentation in Python

A PowerPoint presentation may contain a variety of elements such as text, images, shapes, audio, etc. Aspose.Slides for Python represents each element as a Shape or an abject derived from Shape. So in order to protect the content from being edited, we need to lock all the shapes in the presentation. These shapes could be of the following types:

  • Auto Shape
  • Group Shape
  • Connector
  • Picture Frame

Let’s see how to lock a PowerPoint PPTX file in Python.

  • First, load the presentation file using Presentation class.
  • Then, get reference of slides in the presentation using Presentation.slides property.
  • For each slide, access its shapes using ISlide.shapes collection.
  • For each shape in the collection, perform the following steps:
    • Check type of the shape.
    • Use appropriate lock according to type of the shape.
  • Finally, save the updated presentation using, SaveFormat) method.

The following code sample shows how to protect a presentation by locking its shapes in Python.

Unlock PowerPoint Presentations in Python

To unlock a PowerPoint presentation, you need to remove the locks from each shape. Please note that if you have locked the presentation using Aspose.Slides for Python then you will have to use the same library for unlocking. To remove the locks, repeat the steps mentioned in the previous section and set lock values to false.

The following code sample shows how to unlock a PPTX presentation in Python.

Get a Free License

Use Aspose.Slides for Python via .NET without evaluation limitations by getting a free temporary license.


Protection of digital documents has become essential to avoid the tampering of the content. Therefore, the documents are protected before they are shared over the internet. Accordingly, this article covered how to lock PowerPoint presentations programmatically in Python. Furthermore, you have seen how to unprotect the presentations by unlocking their elements. Apart from that, you can explore more about Aspose.Slides for Python by visiting the documentation. Also, you can post your queries to our forum.

See Also