Chraňte soubory PowerPoint v Python

Digitální dokumenty jsou vždy náchylné k manipulaci neoprávněnými subjekty. Proto se k zajištění bezpečnosti dokumentů používají různé ochranné mechanismy. V tomto článku se zaměříme zejména na ochranu prezentací MS PowerPoint. Naučíte se tedy, jak programově zamykat a odemykat PowerPointové prezentace v Python.

Knihovna Python pro uzamčení prezentací v PowerPointu

K zamykání a odemykání prezentací v PowerPointu použijeme Aspose.Slides for Python. Knihovna poskytuje řadu funkcí pro vytváření a manipulaci s prezentacemi v PowerPointu. Knihovnu do svých aplikací můžete nainstalovat z PyPI pomocí následujícího příkazu.

> pip install aspose.slides 

Uzamkněte prezentaci PowerPoint v Python

PowerPointová prezentace může obsahovat různé prvky, jako je text, obrázky, tvary, zvuk atd. Aspose.Slides for Python představuje každý prvek jako tvar nebo objekt odvozený z tvaru. Abychom tedy ochránili obsah před úpravami, musíme všechny tvary v prezentaci uzamknout. Tyto tvary mohou být následujících typů:

  • Automatický tvar
  • Tvar skupiny
  • Konektor
  • Rám obrazu

Podívejme se, jak uzamknout soubor PowerPoint PPTX v Python.

  • Nejprve načtěte soubor prezentace pomocí třídy Presentation.
  • Poté získejte reference na snímky v prezentaci pomocí vlastnosti Presentation.slides.
  • Pro každý snímek získáte přístup k jeho tvarům pomocí kolekce ISlide.shapes.
  • Pro každý tvar v kolekci proveďte následující kroky:
    • Zkontrolujte typ tvaru.
    • Použijte vhodný zámek podle typu tvaru.
  • Nakonec aktualizovanou prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).

Následující ukázka kódu ukazuje, jak chránit prezentaci uzamčením jejích tvarů v Python.

# prezentace zatížení
with slides.Presentation("presentation.pptx") as pres:

    # procházet všechny snímky v prezentaci
   for slide in pres.slides:
       for shape in slide.shapes:
            # pokud je tvar automatický tvar
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # použít zámky
                auto_shape_lock.position_locked = True
                auto_shape_lock.select_locked = True
                auto_shape_lock.size_locked = True

            # je-li tvar tvarem skupiny
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # použít zámky
                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 tvar spojnicí
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # použít zámky
                connector_lock.position_move = True
                connector_lock.select_locked = True
                connector_lock.size_locked = True

            # pokud tvar je rám obrazu
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # použít zámky
                picture_lock.position_locked = True
                picture_lock.select_locked = True
                picture_lock.size_locked = True

    # uložit soubor prezentace
    pres.save("Locked.pptx", slides.export.SaveFormat.PPTX)

Odemkněte PowerPointové prezentace v Python

Chcete-li odemknout prezentaci PowerPoint, musíte z každého obrazce odstranit zámky. Vezměte prosím na vědomí, že pokud jste zamkli prezentaci pomocí Aspose.Slides for Python, budete muset pro odemknutí použít stejnou knihovnu. Chcete-li zámky odstranit, opakujte kroky uvedené v předchozí části a nastavte hodnoty zámku na false.

Následující ukázka kódu ukazuje, jak odemknout prezentaci PPTX v Python.

# prezentace zatížení
with slides.Presentation("Locked.pptx") as pres:

    # procházet všechny snímky v prezentaci
   for slide in pres.slides:
       for shape in slide.shapes:
            # pokud je tvar automatický tvar
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # odstranit zámky
                auto_shape_lock.position_locked = False
                auto_shape_lock.select_locked = False
                auto_shape_lock.size_locked = False

            # je-li tvar tvarem skupiny
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # odstranit zámky
                group_shape_lock.grouping_locked = False
                group_shape_lock.position_locked = False
                group_shape_lock.select_locked = False
                group_shape_lock.size_locked = False

            # pokud je odstranit konektor
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # odstranit zámky
                connector_lock.position_move = False
                connector_lock.select_locked = False
                connector_lock.size_locked = False

            # pokud tvar je rám obrazu
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # odstranit zámky
                picture_lock.position_locked = False
                picture_lock.select_locked = False
                picture_lock.size_locked = False

    # uložit soubor prezentace
    pres.save("Unlocked.pptx", slides.export.SaveFormat.PPTX)

Knihovna Python pro zabezpečení PowerPoint PPT – Získejte bezplatnou licenci

Používejte Aspose.Slides for Python a zabezpečte své prezentace v PowerPointu bez omezení hodnocení získáním bezplatné dočasné licence.

Závěr

Ochrana digitálních dokumentů se stala zásadní, aby se zabránilo manipulaci s obsahem. Proto jsou dokumenty před sdílením přes internet chráněny. V souladu s tím se tento článek zabýval tím, jak programově uzamknout prezentace PowerPoint v Python. Dále jste viděli, jak zrušit ochranu prezentací odemknutím jejich prvků.

Python PowerPoint PPT Protection API – Přečtěte si více

Více o Aspose.Slides for Python můžete prozkoumat na dokumentaci. Své dotazy můžete také zveřejňovat na našem fóru.

Viz také