Proteggi i file PowerPoint in Python

I documenti digitali sono sempre soggetti a manomissioni da parte di soggetti non autorizzati. Pertanto, vengono utilizzati vari meccanismi di protezione per garantire la sicurezza dei documenti. In questo articolo, ci focalizzeremo in particolare sulla protezione delle presentazioni MS PowerPoint. Imparerai così come bloccare e sbloccare le presentazioni PowerPoint a livello di codice in Python.

Libreria Python per bloccare le presentazioni di PowerPoint

Per bloccare e sbloccare le presentazioni PowerPoint, utilizzeremo Aspose.Slides for Python via .NET. La libreria fornisce una gamma di funzionalità per creare e manipolare presentazioni PowerPoint. Puoi installare la libreria nelle tue applicazioni da PyPI usando il comando seguente.

> pip install aspose.slides 

Blocca una presentazione PowerPoint in Python

Una presentazione PowerPoint può contenere una varietà di elementi come testo, immagini, forme, audio e così via. Aspose.Slides per Python rappresenta ogni elemento come una forma o un oggetto derivato da una forma. Quindi, per proteggere il contenuto dalla modifica, dobbiamo bloccare tutte le forme nella presentazione. Queste forme possono essere dei seguenti tipi:

  • Forma automatica
  • Forma di gruppo
  • Connettore
  • Cornice

Vediamo come bloccare un file PPTX di PowerPoint in Python.

  • Innanzitutto, carica il file di presentazione utilizzando la classe Presentation.
  • Quindi, ottieni il riferimento delle diapositive nella presentazione usando la proprietà Presentation.slides.
  • Per ogni diapositiva, accedi alle sue forme utilizzando la raccolta ISlide.shapes.
  • Per ogni forma nella raccolta, eseguire i seguenti passaggi:
    • Controlla il tipo della forma.
    • Utilizzare una serratura appropriata in base al tipo di forma.
  • Infine, salva la presentazione aggiornata usando il metodo Presentation.save(string, SaveFormat).

L’esempio di codice seguente mostra come proteggere una presentazione bloccandone le forme in 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)

Sblocca le presentazioni PowerPoint in Python

Per sbloccare una presentazione PowerPoint, devi rimuovere i lucchetti da ogni forma. Tieni presente che se hai bloccato la presentazione utilizzando Aspose.Slides per Python, dovrai utilizzare la stessa libreria per lo sblocco. Per rimuovere i blocchi, ripetere i passaggi indicati nella sezione precedente e impostare i valori di blocco su false.

L’esempio di codice seguente mostra come sbloccare una presentazione PPTX in 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)

Ottieni una licenza gratuita

Usa Aspose.Slides per Python tramite .NET senza limitazioni di valutazione ottenendo una licenza temporanea gratuita.

Conclusione

La protezione dei documenti digitali è diventata essenziale per evitare la manomissione del contenuto. Pertanto, i documenti sono protetti prima di essere condivisi su Internet. Di conseguenza, questo articolo ha spiegato come bloccare le presentazioni di PowerPoint a livello di codice in Python. Inoltre, hai visto come sproteggere le presentazioni sbloccando i loro elementi. A parte questo, puoi esplorare di più su Aspose.Slides per Python visitando la documentazione. Inoltre, puoi inviare le tue domande al nostro forum.

Guarda anche