Documentos digitais estão sempre propensos a serem adulterados por entidades não autorizadas. Por isso, diversos mecanismos de proteção são utilizados para garantir a segurança dos documentos. Neste artigo, abordaremos particularmente a proteção de apresentações do MS PowerPoint. Assim, você aprenderá como bloquear e desbloquear apresentações do PowerPoint programaticamente em Python.
- Biblioteca Python para bloquear apresentações do PowerPoint
- Bloquear uma apresentação do PowerPoint em Python
- Desbloquear uma apresentação do PowerPoint em Python
Biblioteca Python para bloquear apresentações do PowerPoint
Para bloquear e desbloquear apresentações do PowerPoint, usaremos Aspose.Slides for Python via .NET. A biblioteca fornece uma variedade de recursos para criar e manipular apresentações do PowerPoint. Você pode instalar a biblioteca em seus aplicativos de PyPI usando o seguinte comando.
> pip install aspose.slides
Bloquear uma apresentação do PowerPoint em Python
Uma apresentação do PowerPoint pode conter uma variedade de elementos como texto, imagens, formas, áudio, etc. Aspose.Slides for Python representa cada elemento como um Shape ou um objeto derivado de Shape. Portanto, para evitar que o conteúdo seja editado, precisamos bloquear todas as formas na apresentação. Essas formas podem ser dos seguintes tipos:
- Forma automática
- Forma do Grupo
- Conector
- Porta-retrato
Vamos ver como bloquear um arquivo PPTX do PowerPoint em Python.
- Primeiro, carregue o arquivo de apresentação usando a classe Presentation.
- Em seguida, obtenha referência de slides na apresentação usando a propriedade Presentation.slides.
- Para cada slide, acesse suas formas usando a coleção ISlide.shapes.
- Para cada forma na coleção, execute as seguintes etapas:
- Verifique o tipo da forma.
- Use trava apropriada de acordo com o tipo de forma.
- Finalmente, salve a apresentação atualizada usando o método Presentation.save(string, SaveFormat).
O exemplo de código a seguir mostra como proteger uma apresentação bloqueando suas formas em 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)
Desbloqueie apresentações do PowerPoint em Python
Para desbloquear uma apresentação do PowerPoint, você precisa remover os bloqueios de cada forma. Observe que, se você bloqueou a apresentação usando o Aspose.Slides for Python, terá que usar a mesma biblioteca para desbloquear. Para remover os bloqueios, repita as etapas mencionadas na seção anterior e defina os valores de bloqueio como false.
O exemplo de código a seguir mostra como desbloquear uma apresentação PPTX em Python.
# 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)
Obtenha uma licença gratuita
Use Aspose.Slides para Python via .NET sem limitações de avaliação obtendo uma licença temporária gratuita.
Conclusão
A proteção de documentos digitais tornou-se essencial para evitar a adulteração do conteúdo. Portanto, os documentos são protegidos antes de serem compartilhados pela internet. Da mesma forma, este artigo abordou como bloquear apresentações do PowerPoint programaticamente em Python. Além disso, você viu como desproteger as apresentações desbloqueando seus elementos. Além disso, você pode explorar mais sobre o Aspose.Slides for Python visitando a documentação. Além disso, você pode postar suas dúvidas em nosso fórum.