Accedere alle diapositive nelle presentazioni con Python
Panoramica
Questo articolo spiega come accedere a diapositive specifiche in una presentazione PowerPoint usando Aspose.Slides per Python. Mostra come aprire una presentazione, fare riferimento alle diapositive per indice o per ID univoco e leggere le informazioni di base della diapositiva necessarie per la navigazione all’interno del file. Con queste tecniche, è possibile individuare in modo affidabile la diapositiva esatta da ispezionare o elaborare.
Accedi a una diapositiva per indice
Le diapositive in una presentazione sono indicizzate per posizione a partire da 0. La prima diapositiva ha indice 0, la seconda diapositiva ha indice 1 e così via.
La classe Presentation (che rappresenta un file di presentazione) espone le diapositive tramite una SlideCollection di oggetti Slide.
Il seguente codice Python mostra come accedere a una diapositiva tramite il suo indice:
import aspose.slides as slides
# Crea una Presentazione che rappresenta un file di presentazione.
with slides.Presentation("sample.pptx") as presentation:
# Ottieni una diapositiva per indice.
slide = presentation.slides[0]
Accedi a una diapositiva per ID
Ogni diapositiva in una presentazione ha un ID univoco associato. È possibile utilizzare il metodo get_slide_by_id (esposto dalla classe Presentation) per puntare a quell’ID.
Il seguente codice Python mostra come fornire un ID diapositiva valido e accedere a quella diapositiva tramite il metodo get_slide_by_id:
import aspose.slides as slides
# Crea una Presentazione che rappresenta un file di presentazione.
with slides.Presentation("sample.pptx") as presentation:
# Ottieni l'ID di una diapositiva.
id = presentation.slides[0].slide_id
# Accedi alla diapositiva tramite il suo ID.
slide = presentation.get_slide_by_id(id)
Modifica la posizione di una diapositiva
Aspose.Slides consente di modificare la posizione di una diapositiva. Ad esempio, è possibile fare in modo che la prima diapositiva diventi la seconda.
- Crea un’istanza della classe Presentation.
- Ottieni un riferimento alla diapositiva la cui posizione desideri modificare per indice.
- Imposta una nuova posizione per la diapositiva tramite la proprietà slide_number.
- Salva la presentazione modificata.
Il seguente codice Python sposta la diapositiva in posizione 1 alla posizione 2:
import aspose.slides as slides
# Istanzia un oggetto Presentation che rappresenta un file di presentazione.
with slides.Presentation("sample.pptx") as presentation:
# Ottieni la diapositiva la cui posizione sarà modificata.
slide = presentation.slides[0]
# Imposta la nuova posizione per la diapositiva.
slide.slide_number = 2
# Salva la presentazione modificata.
presentation.save("slide_number.pptx", slides.export.SaveFormat.PPTX)
La prima diapositiva diventa la seconda; la seconda diapositiva diventa la prima. Quando si modifica la posizione di una diapositiva, le altre diapositive vengono adeguate automaticamente.
Imposta il numero della diapositiva
Utilizzando la proprietà first_slide_number (esposta dalla classe Presentation), è possibile specificare un nuovo numero per la prima diapositiva di una presentazione. Questa operazione causa il ricalcolo degli altri numeri delle diapositive.
- Crea un’istanza della classe Presentation.
- Imposta il numero della diapositiva.
- Salva la presentazione modificata.
Il seguente codice Python dimostra un’operazione in cui il numero della prima diapositiva è impostato a 10:
import aspose.slides as slides
# Istanzia un oggetto Presentation che rappresenta un file di presentazione.
with slides.Presentation("sample.pptx") as presentation:
# Imposta il numero della diapositiva.
presentation.first_slide_number = 10
# Salva la presentazione modificata.
presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX)
Se preferisci saltare la prima diapositiva, puoi iniziare la numerazione dalla seconda diapositiva (e nascondere il numero sulla prima diapositiva) così:
import aspose.slides as slides
with slides.Presentation() as presentation:
layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
presentation.slides.add_empty_slide(layout_slide)
presentation.slides.add_empty_slide(layout_slide)
presentation.slides.add_empty_slide(layout_slide)
# Imposta il numero per la prima diapositiva nella presentazione.
presentation.first_slide_number = 0
# Mostra i numeri di diapositiva per tutte le diapositive.
presentation.header_footer_manager.set_all_slide_numbers_visibility(True)
# Nascondi il numero di diapositiva sulla prima diapositiva.
presentation.slides[0].header_footer_manager.set_slide_number_visibility(False)
# Salva la presentazione modificata.
presentation.save("first_slide_number.pptx", slides.export.SaveFormat.PPTX)
FAQ
Il numero della diapositiva visualizzato dall’utente corrisponde all’indice basato su zero della collezione?
Il numero mostrato su una diapositiva può partire da un valore arbitrario (ad esempio 10) e non deve corrispondere all’indice; la relazione è controllata dall’impostazione first slide number della presentazione.
Le diapositive nascoste influiscono sull’indicizzazione?
Sì. Una diapositiva nascosta rimane nella collezione ed è conteggiata nell’indicizzazione; “nascosta” si riferisce alla visualizzazione, non alla sua posizione nella collezione.
L’indice di una diapositiva cambia quando vengono aggiunte o rimosse altre diapositive?
Sì. Gli indici riflettono sempre l’ordine corrente delle diapositive e vengono ricalcolati al momento di inserimenti, eliminazioni e spostamenti.