Chroń pliki PowerPoint w Python

Dokumenty cyfrowe są zawsze podatne na manipulacje przez nieupoważnione podmioty. Dlatego stosuje się różne mechanizmy ochrony, aby zapewnić bezpieczeństwo dokumentów. W tym artykule skupimy się w szczególności na ochronie prezentacji MS PowerPoint. Dowiesz się więc, jak programowo blokować i odblokowywać prezentacje PowerPoint w Python.

Biblioteka Python do blokowania prezentacji PowerPoint

Aby zablokować i odblokować prezentacje PowerPoint, użyjemy Aspose.Slides for Python przez .NET. Biblioteka zapewnia szereg funkcji do tworzenia i manipulowania prezentacjami programu PowerPoint. Możesz zainstalować bibliotekę w swoich aplikacjach z PyPI za pomocą następującego polecenia.

> pip install aspose.slides 

Zablokuj prezentację PowerPoint w Python

Prezentacja programu PowerPoint może zawierać różne elementy, takie jak tekst, obrazy, kształty, dźwięk itp. Aspose.Slides dla języka Python reprezentuje każdy element jako kształt lub abject wywodzący się z kształtu. Aby więc zabezpieczyć zawartość przed edycją, musimy zablokować wszystkie kształty w prezentacji. Te kształty mogą być następujących typów:

  • Automatyczny kształt
  • Kształt grupy
  • Złącze
  • Ramka

Zobaczmy, jak zablokować plik PowerPoint PPTX w Python.

  • Najpierw załaduj plik prezentacji za pomocą klasy Presentation.
  • Następnie uzyskaj odniesienia do slajdów w prezentacji, korzystając z właściwości Presentation.slides.
  • Dla każdego slajdu uzyskaj dostęp do jego kształtów za pomocą kolekcji ISlide.shapes.
  • Dla każdego kształtu w kolekcji wykonaj następujące czynności:
    • Sprawdź rodzaj kształtu.
    • Użyj odpowiedniego zamka w zależności od rodzaju kształtu.
  • Na koniec zapisz zaktualizowaną prezentację przy użyciu metody Presentation.save(string, SaveFormat).

Poniższy przykładowy kod pokazuje, jak chronić prezentację, blokując jej kształty w języku Python.

# prezentacja ładunku
with slides.Presentation("presentation.pptx") as pres:

    # przejrzyj wszystkie slajdy w prezentacji
   for slide in pres.slides:
       for shape in slide.shapes:
            # jeśli kształt jest autokształtem
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # zastosować zamki
                auto_shape_lock.position_locked = True
                auto_shape_lock.select_locked = True
                auto_shape_lock.size_locked = True

            # jeśli kształt jest kształtem grupy
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # zastosować zamki
                group_shape_lock.grouping_locked = True
                group_shape_lock.position_locked = True
                group_shape_lock.select_locked = True
                group_shape_lock.size_locked = True

            # jeśli kształt jest łącznikiem
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # zastosować zamki
                connector_lock.position_move = True
                connector_lock.select_locked = True
                connector_lock.size_locked = True

            # jeśli kształt jest ramką obrazu
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # zastosować zamki
                picture_lock.position_locked = True
                picture_lock.select_locked = True
                picture_lock.size_locked = True

    # zapisz plik prezentacji
    pres.save("Locked.pptx", slides.export.SaveFormat.PPTX)

Odblokuj prezentacje PowerPoint w Python

Aby odblokować prezentację programu PowerPoint, musisz usunąć blokady z każdego kształtu. Pamiętaj, że jeśli zablokowałeś prezentację za pomocą Aspose.Slides for Python, będziesz musiał użyć tej samej biblioteki do odblokowania. Aby usunąć blokady, powtórz kroki wymienione w poprzedniej sekcji i ustaw wartości blokad na false.

Poniższy przykładowy kod pokazuje, jak odblokować prezentację PPTX w języku Python.

# prezentacja ładunku
with slides.Presentation("Locked.pptx") as pres:

    # przejrzyj wszystkie slajdy w prezentacji
   for slide in pres.slides:
       for shape in slide.shapes:
            # jeśli kształt jest autokształtem
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # usunąć blokady
                auto_shape_lock.position_locked = False
                auto_shape_lock.select_locked = False
                auto_shape_lock.size_locked = False

            # jeśli kształt jest kształtem grupy
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # usunąć blokady
                group_shape_lock.grouping_locked = False
                group_shape_lock.position_locked = False
                group_shape_lock.select_locked = False
                group_shape_lock.size_locked = False

            # jeśli usuń jest złączem
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # usunąć blokady
                connector_lock.position_move = False
                connector_lock.select_locked = False
                connector_lock.size_locked = False

            # jeśli kształt jest ramką obrazu
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # usunąć blokady
                picture_lock.position_locked = False
                picture_lock.select_locked = False
                picture_lock.size_locked = False

    # zapisz plik prezentacji
    pres.save("Unlocked.pptx", slides.export.SaveFormat.PPTX)

Uzyskaj bezpłatną licencję

Używaj Aspose.Slides for Python przez .NET bez ograniczeń ewaluacyjnych, otrzymując bezpłatną licencję tymczasową.

Wniosek

Ochrona dokumentów cyfrowych stała się niezbędna, aby uniknąć manipulowania treścią. Dlatego dokumenty są chronione przed udostępnieniem w Internecie. W związku z tym w tym artykule opisano, jak programowo blokować prezentacje PowerPoint w Python. Ponadto widziałeś, jak usunąć ochronę prezentacji, odblokowując ich elementy. Poza tym możesz dowiedzieć się więcej o Aspose.Slides for Python, odwiedzając dokumentację. Możesz również zamieścić swoje zapytania na naszym forum.

Zobacz też