Proteger archivos de PowerPoint en Python

Los documentos digitales siempre son propensos a ser manipulados por entidades no autorizadas. Por lo tanto, se utilizan varios mecanismos de protección para garantizar la seguridad de los documentos. En este artículo, nos enfocaremos particularmente en la protección de las presentaciones de MS PowerPoint. Entonces, aprenderá cómo bloquear y desbloquear presentaciones de PowerPoint mediante programación en Python.

Biblioteca de Python para bloquear presentaciones de PowerPoint

Para bloquear y desbloquear presentaciones de PowerPoint, usaremos Aspose.Slides for Python via .NET. La biblioteca proporciona una gama de funciones para crear y manipular presentaciones de PowerPoint. Puede instalar la biblioteca en sus aplicaciones desde PyPI usando el siguiente comando.

> pip install aspose.slides 

Bloquear una presentación de PowerPoint en Python

Una presentación de PowerPoint puede contener una variedad de elementos como texto, imágenes, formas, audio, etc. Aspose.Slides for Python representa cada elemento como una Forma o un objeto derivado de la Forma. Entonces, para proteger el contenido de la edición, debemos bloquear todas las formas en la presentación. Estas formas pueden ser de los siguientes tipos:

  • Forma automática
  • Forma de grupo
  • conector
  • Marco

Veamos cómo bloquear un archivo PPTX de PowerPoint en Python.

  • Primero, cargue el archivo de presentación usando la clase Presentation.
  • Luego, obtenga la referencia de las diapositivas en la presentación usando la propiedad Presentation.slides.
  • Para cada diapositiva, acceda a sus formas usando la colección ISlide.shapes.
  • Para cada forma de la colección, realice los siguientes pasos:
    • Compruebe el tipo de la forma.
    • Utilice el candado adecuado según el tipo de forma.
  • Finalmente, guarde la presentación actualizada usando el método Presentation.save(string, SaveFormat).

El siguiente ejemplo de código muestra cómo proteger una presentación bloqueando sus formas en 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)

Desbloquear presentaciones de PowerPoint en Python

Para desbloquear una presentación de PowerPoint, debe eliminar los bloqueos de cada forma. Tenga en cuenta que si ha bloqueado la presentación con Aspose.Slides for Python, tendrá que usar la misma biblioteca para desbloquearla. Para eliminar los bloqueos, repita los pasos mencionados en la sección anterior y configure los valores de bloqueo en falso.

El siguiente ejemplo de código muestra cómo desbloquear una presentación PPTX en 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)

Obtenga una licencia gratis

Utilice Aspose.Slides for Python a través de .NET sin limitaciones de evaluación al obtener una licencia temporal gratuita.

Conclusión

La protección de los documentos digitales se ha vuelto fundamental para evitar la manipulación del contenido. Por lo tanto, los documentos están protegidos antes de que se compartan a través de Internet. En consecuencia, este artículo cubrió cómo bloquear presentaciones de PowerPoint mediante programación en Python. Además, has visto cómo desproteger las presentaciones desbloqueando sus elementos. Aparte de eso, puede explorar más sobre Aspose.Slides for Python visitando la documentación. Además, puede publicar sus consultas en nuestro foro.

Ver también