Aprire presentazioni in Python

Introduzione

Aspose.Slides per Python via .NET può caricare presentazioni PowerPoint e OpenDocument da file e flussi. Dopo che una presentazione è stata caricata, è possibile ispezionare la sua 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 i grandi oggetti binari fuori dalla memoria o omettere i dati binari incorporati.

Aprire le presentazioni

Per aprire una presentazione esistente, passare il percorso del file al costruttore Presentation. Utilizzare una dichiarazione with in modo che i gestori di file, i dati temporanei e le altre risorse vengano rilasciati prontamente.

Il seguente esempio Python mostra come aprire una presentazione e ottenere il conteggio delle 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 cripta 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 se 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 i flussi di lavoro di rilevamento, convalida e crittografia delle password, vedere Protezione con password delle presentazioni. Se una presentazione crittografata è stata salvata deliberatamente con proprietà del documento pubbliche, tali proprietà possono essere lette senza password; vedere Gestire le proprietà della presentazione.

Aprire presentazioni di grandi dimensioni

LoadOptions.blob_management_options controlla come Aspose.Slides gestisce i grandi oggetti binari come immagini, audio e video. È possibile mantenere il file di origine bloccato, consentire file temporanei e limitare la quantità di dati BLOB mantenuti 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 mantenere. 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 sanitizzato.

Questa opzione riduce l’esposizione a payload incorporati indesiderati, ma non è un sistema completo di rilevamento malware o di sanitizzazione 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 che 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 la causa in modo accurato.

Cosa succede se i font richiesti sono mancanti?

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 attraverso il modello a oggetti della presentazione. Le risorse esterne vengono risolte secondo il comportamento predefinito di caricamento delle risorse e possono non essere disponibili se le loro posizioni non sono accessibili.