Захистіть файли PowerPoint у Python

Цифрові документи завжди схильні до підробки з боку неавторизованих осіб. Тому для забезпечення безпеки документів використовуються різні механізми захисту. У цій статті ми звернемо увагу на захист презентацій MS PowerPoint. Тож ви дізнаєтеся, як програмно блокувати та розблоковувати презентації PowerPoint на Python.

Бібліотека Python для блокування презентацій PowerPoint

Щоб заблокувати та розблокувати презентації PowerPoint, ми будемо використовувати Aspose.Slides for Python. Бібліотека надає ряд функцій для створення та роботи з презентаціями PowerPoint. Ви можете встановити бібліотеку у своїх програмах із PyPI за допомогою наступної команди.

> pip install aspose.slides 

Заблокуйте презентацію PowerPoint у Python

Презентація PowerPoint може містити різноманітні елементи, такі як текст, зображення, фігури, аудіо тощо. Aspose.Slides for Python представляє кожен елемент як фігуру або об’єкт, похідний від форми. Отже, щоб захистити вміст від редагування, нам потрібно заблокувати всі фігури в презентації. Ці фігури можуть бути наступних типів:

  • Автоформа
  • Форма групи
  • Роз’єм
  • Фоторамка

Давайте подивимося, як заблокувати файл PowerPoint PPTX у Python.

  • Спочатку завантажте файл презентації за допомогою класу Presentation.
  • Потім отримайте посилання на слайди в презентації за допомогою властивості Presentation.slides.
  • Для кожного слайда отримуйте доступ до його форм за допомогою колекції ISlide.shapes.
  • Для кожної форми в колекції виконайте такі кроки:
    • Перевірте тип форми.
    • Використовуйте відповідний замок відповідно до типу форми.
  • Нарешті, збережіть оновлену презентацію за допомогою методу Presentation.save(string, SaveFormat).

У наступному прикладі коду показано, як захистити презентацію, заблокувавши її форми в Python.

# завантажити презентацію
with slides.Presentation("presentation.pptx") as pres:

    # прокрутити всі слайди презентації
   for slide in pres.slides:
       for shape in slide.shapes:
            # якщо форма є автофігурою
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # накладати замки
                auto_shape_lock.position_locked = True
                auto_shape_lock.select_locked = True
                auto_shape_lock.size_locked = True

            # якщо форма є формою групи
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # накладати замки
                group_shape_lock.grouping_locked = True
                group_shape_lock.position_locked = True
                group_shape_lock.select_locked = True
                group_shape_lock.size_locked = True

            # якщо форма є сполучником
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # накладати замки
                connector_lock.position_move = True
                connector_lock.select_locked = True
                connector_lock.size_locked = True

            # якщо форма – це рамка для картини
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # накладати замки
                picture_lock.position_locked = True
                picture_lock.select_locked = True
                picture_lock.size_locked = True

    # зберегти файл презентації
    pres.save("Locked.pptx", slides.export.SaveFormat.PPTX)

Розблокуйте презентації PowerPoint у Python

Щоб розблокувати презентацію PowerPoint, потрібно зняти замки з кожної фігури. Зауважте, що якщо ви заблокували презентацію за допомогою Aspose.Slides for Python, вам доведеться використовувати ту саму бібліотеку для розблокування. Щоб зняти блокування, повторіть кроки, згадані в попередньому розділі, і встановіть значення блокування на false.

У наступному прикладі коду показано, як розблокувати презентацію PPTX у Python.

# завантажити презентацію
with slides.Presentation("Locked.pptx") as pres:

    # прокрутити всі слайди презентації
   for slide in pres.slides:
       for shape in slide.shapes:
            # якщо форма є автофігурою
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # зняти замки
                auto_shape_lock.position_locked = False
                auto_shape_lock.select_locked = False
                auto_shape_lock.size_locked = False

            # якщо форма є формою групи
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # зняти замки
                group_shape_lock.grouping_locked = False
                group_shape_lock.position_locked = False
                group_shape_lock.select_locked = False
                group_shape_lock.size_locked = False

            # якщо видалити, це роз’єм
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # зняти замки
                connector_lock.position_move = False
                connector_lock.select_locked = False
                connector_lock.size_locked = False

            # якщо форма – це рамка для картини
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # зняти замки
                picture_lock.position_locked = False
                picture_lock.select_locked = False
                picture_lock.size_locked = False

    # зберегти файл презентації
    pres.save("Unlocked.pptx", slides.export.SaveFormat.PPTX)

Бібліотека Python для захисту PowerPoint PPT – отримайте безкоштовну ліцензію

Використовуйте Aspose.Slides for Python і захищайте свої презентації PowerPoint без обмежень оцінки, отримавши безкоштовну тимчасову ліцензію.

Висновок

Захист цифрових документів став важливим, щоб уникнути фальсифікації вмісту. Таким чином, документи захищені, перш ніж вони будуть надані в Інтернеті. Відповідно, у цій статті описано, як програмно заблокувати презентації PowerPoint на Python. Крім того, ви бачили, як зняти захист презентацій, розблокувавши їхні елементи.

Python PowerPoint PPT Protection API – докладніше

Ви можете дізнатися більше про Aspose.Slides for Python, відвідавши документацію. Також ви можете опублікувати свої запити на нашому форумі.

Дивись також