Aprire presentazioni in Python

Introduzione

Aspose.Slides for Python via .NET può caricare presentazioni PowerPoint e OpenDocument da file e stream. Dopo che una presentazione è stata caricata, è possibile ispezionarne la struttura, modificare le diapositive, gestire le risorse e salvarla nel formato originale o in un altro formato supportato.

Il comportamento di caricamento può essere personalizzato tramite la classe LoadOptions. Ad esempio, è possibile fornire una password di apertura, mantenere grandi oggetti binari fuori dalla memoria o omettere i dati binari incorporati.

Aprire le presentazioni

Dopo aver caricato un file o uno stream, è possibile determinare il formato originale della presentazione per scegliere come l’applicazione lo elabora.

Per aprire una presentazione esistente, passare il percorso del file al costruttore Presentation. Utilizzare un’istruzione with affinché i handle dei file, i dati temporanei e altre risorse vengano rilasciati tempestivamente.

Il seguente esempio Python mostra come aprire una presentazione e ottenere il numero di diapositive:

import aspose.slides as slides

with slides.Presentation("sample.pptx") as presentation:
    print("Slide count: " + str(len(presentation.slides)))

Aprire presentazioni protette da password

Una password di apertura crittografa il contenuto della presentazione. Per caricare l’intera presentazione, assegnare la password corretta a LoadOptions.password e passare le opzioni al costruttore Presentation. Il caricamento fallisce quando la password è mancante o errata.

import aspose.slides as slides

load_options = slides.LoadOptions()
load_options.password = "open_password"

with slides.Presentation("encrypted-presentation.pptx", load_options) as presentation:
    print("Slide count: " + str(len(presentation.slides)))

Per il rilevamento della password, la convalida e i flussi di lavoro di crittografia, vedere Password-Protect Presentations. Se una presentazione crittata è stata salvata deliberatamente con proprietà del documento pubbliche, tali proprietà possono essere lette senza password; vedere Manage Presentation Properties.

Aprire presentazioni di grandi dimensioni

LoadOptions.blob_management_options controlla come Aspose.Slides gestisce oggetti binari di grandi dimensioni come immagini, audio e video. È possibile mantenere il file sorgente bloccato, consentire file temporanei e limitare la quantità di dati BLOB conservati in memoria.

Questo codice Python dimostra il caricamento di una presentazione di grandi dimensioni (ad esempio, 2 GB):

import aspose.slides as slides
file_path = "large-presentation.pptx"

load_options = slides.LoadOptions()
load_options.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED
load_options.blob_management_options.is_temporary_files_allowed = True
load_options.blob_management_options.max_blobs_bytes_in_memory = 10 * 1024 * 1024

with slides.Presentation(file_path, load_options) as presentation:
    presentation.slides[0].name = "Large presentation"
    presentation.save("large-presentation-copy.pptx", slides.export.SaveFormat.PPTX)

Caricare presentazioni senza oggetti binari incorporati

Una presentazione può contenere dati binari incorporati che un’applicazione non necessita o non vuole conservare. Esempi includono:

Impostare LoadOptions.delete_embedded_binary_objects su True per rimuovere questi dati binari durante il caricamento. Salvare la presentazione caricata per conservare il risultato sanificato.

Questa opzione riduce l’esposizione a payload incorporati indesiderati, ma non è un sistema completo di rilevamento malware o di sanificazione dei contenuti.

import aspose.slides as slides

load_options = slides.LoadOptions()
load_options.delete_embedded_binary_objects = True

with slides.Presentation("presentation-with-embedded-data.pptx", load_options) as presentation:
    presentation.save("presentation-without-embedded-data.pptx", slides.export.SaveFormat.PPTX)

FAQ

Come posso capire se un file è corrotto e non può essere aperto?

Aspose.Slides genera un’eccezione di parsing o di formato durante il caricamento. Gestire tale errore separatamente da un errore di password errata in modo che l’applicazione possa segnalare correttamente la causa.

Cosa succede se mancano i font richiesti?

La presentazione può ancora essere caricata, ma il rendering e l’esportazione potrebbero sostituire i font. È possibile configurare la sostituzione dei font o fornire font personalizzati per rendere l’output più prevedibile.

Il caricamento di una presentazione carica anche i media incorporati?

Audio e video incorporati diventano disponibili tramite il modello di oggetti della presentazione. Le risorse esterne vengono risolte secondo il comportamento predefinito di caricamento delle risorse e potrebbero non essere disponibili se le loro posizioni non possono essere raggiunte.