Vari tipi di diagrammi vengono utilizzati nelle presentazioni PowerPoint per rendere il contenuto più elaborato. Questi diagrammi sono costituiti da forme diverse come ellissi, linee, rettangoli e connettori. In questo articolo imparerai come aggiungere, clonare e rimuovere forme nelle diapositive di PowerPoint a livello di codice in Python.
- Libreria Python per lavorare con le forme di PowerPoint
- Tipi di forme PowerPoint
- Aggiungi forma alle diapositive di PowerPoint
- Aggiungi connettore alle forme in PowerPoint
- Clona una forma nelle diapositive di PowerPoint
- Rimuovere le forme dalle diapositive di PowerPoint
Libreria Python per lavorare con le forme di PowerPoint
Aspose.Slides for Python via .NET è progettato per creare e manipolare presentazioni PowerPoint dall’interno delle applicazioni Python. Useremo questa libreria per lavorare con le forme nelle diapositive di PowerPoint. Puoi installarlo da PyPI usando il seguente comando pip.
> pip install aspose.slides
Tipi di forme in PowerPoint
Puoi creare una varietà di forme nelle presentazioni PowerPoint usando Aspose.Slides per Python. Le forme più comunemente utilizzate includono:
Aggiungi una forma alle diapositive di PowerPoint in Python
Per aggiungere qualsiasi forma, inclusi ellisse, linea, rettangolo, viene utilizzato il metodo addautoshape(ShapeType, Single, Single, Single, Single) a cui è possibile passare il tipo della forma e altri parametri necessari. L’enumerazione ShapeType viene utilizzata per specificare il tipo della forma. Di seguito sono riportati i passaggi per aggiungere una forma a una diapositiva di PowerPoint in Python.
- Crea una presentazione o caricane una esistente usando la classe Presentation.
- Ottieni il riferimento della diapositiva desiderata dalla raccolta Presentation.slides.
- Aggiungi un’ellisse (o qualsiasi altra forma) usando il metodo addautoshape(ShapeType, Single, Single, Single, Single).
- Salva la presentazione usando il metodo Presentation.save(String, SaveFormat).
L’esempio di codice seguente mostra come aggiungere una forma a una diapositiva di PowerPoint in Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create a new presentation
with slides.Presentation() as pres:
# Get the first slide
sld = pres.slides[0]
# Add auto shape of ellipse type
shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)
# Apply some formatting to ellipse shape
shp.fill_format.fill_type = slides.FillType.SOLID
shp.fill_format.solid_fill_color.color = drawing.Color.pink
# Apply some formatting to the line of Ellipse
shp.line_format.fill_format.fill_type = slides.FillType.SOLID
shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
shp.line_format.width = 5
# Save the PPTX file to disk
pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)
Di seguito è l’ellisse che abbiamo aggiunto utilizzando l’esempio di codice sopra.
Collega le forme di PowerPoint con un connettore in Python
Nei diagrammi, forme diverse sono collegate tra loro utilizzando una linea chiamata connettore. Un connettore può essere una linea retta o curva. Vediamo come aggiungere un connettore tra due forme PowerPoint in Python.
- Innanzitutto, crea un’istanza della classe Presentation per creare o caricare la presentazione.
- Quindi, ottieni il riferimento di una diapositiva utilizzando la raccolta Presentation.slides.
- Aggiungi due forme proprio come hai aggiunto nella sezione precedente e ottieni i loro riferimenti.
- Crea un connettore usando il metodo addconnector(ShapeType, Single, Single, Single, Single).
- Unisci le forme usando le proprietà Connector.startshapeconnectedto e Connector.endshapeconnectedto.
- Chiama il metodo Connector.reroute() per creare il percorso di connessione automatico più breve.
- Infine, salva la presentazione usando il metodo Presentation.save(string, SaveFormat).
L’esempio di codice seguente mostra come connettere le forme in una diapositiva di PowerPoint in Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation
with slides.Presentation() as presentation:
# Access shapes collection for selected slide
shapes = presentation.slides[0].shapes
# Add ellipse
ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)
# Add auto shape rectangle
rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)
# Add connector to connect shapes
connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)
# Join shapes using connector
connector.start_shape_connected_to = ellipse
connector.end_shape_connected_to = rectangle
# Call reroute to set the automatic shortest path between shapes
connector.reroute()
# Save presenation
presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)
Quello che segue è lo screenshot della presentazione dopo aver collegato le forme con un connettore.
Clona forme PowerPoint in Python
A volte, scegli di clonare le forme invece di crearne una nuova. Per raggiungere questo obiettivo, Aspose.Slides supporta la clonazione delle forme. Di seguito sono riportati i passaggi per clonare una forma in PowerPoint utilizzando Python.
- Innanzitutto, usa la classe Presentation per caricare il file di presentazione.
- Ottieni il riferimento di una diapositiva dalla raccolta Presentation.slides.
- Accedi alle forme delle diapositive di origine e di destinazione dalla raccolta ISlide.shapes.
- Clonare le forme dalla raccolta di forme della diapositiva di origine alla diapositiva di destinazione utilizzando il metodo addclone().
- Infine, salva il file di presentazione aggiornato.
L’esempio di codice seguente mostra come clonare forme all’interno di diapositive di PowerPoint in Python.
import aspose.slides as slides
# Load presentation
with slides.Presentation("add-ellipse.pptx") as presentation:
# Access shapes of the source slide
sourceShapes = presentation.slides[0].shapes
# Add a new blank slide
blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
destSlide = presentation.slides.add_empty_slide(blankLayout)
# Access shapes of destination slide
destShapes = destSlide.shapes
# Clone shapes
destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
destShapes.add_clone(sourceShapes[0])
destShapes.insert_clone(0, sourceShapes[0], 50, 150)
# Save file
presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)
Rimuovere le forme dalle diapositive di PowerPoint in Python
Puoi anche rimuovere le forme dalle presentazioni di PowerPoint seguendo i passaggi seguenti.
- Crea un’istanza della classe Presentation per caricare il file PPT/PPTX.
- Accedi alla diapositiva desiderata dalla raccolta Presentation.slides.
- Filtra la forma desiderata con un testo specifico usando la proprietà IShape.alternativetext.
- Rimuovere la forma utilizzando il metodo ISlide.shapes.remove(IShape).
- Infine, salva il file di presentazione aggiornato.
L’esempio di codice seguente mostra come rimuovere forme da una diapositiva di PowerPoint in Python.
# Load presentation
with slides.Presentation("add-ellipse.pptx") as presentation:
# Get the first slide
sld = presentation.slides[0]
alttext = "User Defined"
# Loop through shapes
for i in range(len(sld.shapes)):
# Find shape by alternative text
ashp = sld.shapes[0]
if ashp.alternative_text == alttext:
sld.shapes.remove(ashp)
# Save file
presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)
Ottieni una licenza gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Slides per Python senza limitazioni di valutazione.
Conclusione
MS PowerPoint supporta una gamma di forme per creare diversi tipi di diagrammi come i diagrammi di flusso. In questo articolo, abbiamo spiegato come creare forme PowerPoint come ellissi, rettangoli e collegarle usando i connettori in Python. Inoltre, hai imparato a clonare e rimuovere le forme nelle diapositive di PowerPoint in modo programmatico. Puoi esplorare di più su Aspose.Slides per Python usando la documentazione. Inoltre, puoi sentirti libero di farci sapere delle tue domande tramite il nostro forum.