Le forme sono un ottimo modo per rendere le tue presentazioni PowerPoint più elaborate e accattivanti. PowerPoint offre un’ampia gamma di forme che è possibile aggiungere alle diapositive della presentazione, ad esempio ellissi, linee, rettangoli, connettori e così via. Per automatizzare questa funzionalità, questo articolo illustra come aggiungere, clonare e rimuovere forme nelle diapositive di PowerPoint a livello di codice usando C#.
- API C# per lavorare con le forme di PowerPoint
- Tipi di forme PowerPoint
- Aggiungi forma alle diapositive di PowerPoint
- Aggiungi connettore alle forme nelle diapositive di PowerPoint
- Clona una forma nelle diapositive di PowerPoint
- Rimuovere le forme dalle diapositive di PowerPoint
API C# per lavorare con le forme di PowerPoint
Aspose.Slides for .NET è un’API C# progettata per funzionare con presentazioni PowerPoint dall’interno delle applicazioni .NET. Insieme ad altre funzionalità di manipolazione della presentazione, l’API offre modi semplici per lavorare con le forme nelle diapositive di PowerPoint. Puoi scaricare la DLL dell’API o installarla tramite NuGet.
Install-Package Aspose.Slides.NET
Forme PowerPoint
Aspose.Slides per .NET supporta un’ampia gamma di tipi di forma che è possibile aggiungere alle diapositive di PowerPoint. Le forme più comunemente utilizzate includono:
Aggiungi una forma alle diapositive di PowerPoint usando C#
Per aggiungere una forma, ad esempio ellisse, linea, rettangolo, ecc., Aspose.Slides fornisce il metodo IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single). L’enumerazione ShapeType consente di specificare il tipo di forma che si desidera aggiungere. Di seguito sono riportati i passaggi per aggiungere una forma a una diapositiva di PowerPoint.
- Crea un’istanza della classe Presentazione per creare una nuova presentazione o caricarne una esistente.
- Ottieni il riferimento di una diapositiva usando Presentation.Slides[index] nell’oggetto ISlide.
- Aggiungi un’ellisse (o qualsiasi altra forma) usando il metodo IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single) esposto dall’oggetto IShapes.
- Salvare il file PPTX utilizzando il metodo Presentation.Save(String, SaveFormat).
Nell’esempio di codice seguente viene illustrato come aggiungere una forma a una diapositiva di PowerPoint usando C#.
// Istanziare un oggetto Presentazione che rappresenta un file di presentazione
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Ottieni la prima diapositiva
ISlide sld = pres.Slides[0];
// Aggiungi la forma automatica di tipo ellisse
sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);
// Salva presentazione
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Aggiungi connettore per connettere forme PowerPoint in C#
Un connettore è una linea che viene utilizzata per collegare le forme per unirle. Un connettore può essere una linea retta o curva. Vediamo come aggiungere un connettore tra due forme in una diapositiva di PowerPoint.
- Crea un’istanza della classe Presentation per creare una nuova presentazione.
- Ottieni il riferimento di una diapositiva usando Presentation.Slides[index] nell’oggetto ISlide.
- Aggiungi due forme proprio come hai aggiunto nell’esempio precedente e ottieni i loro riferimenti negli oggetti IAutoShape.
- Crea un nuovo oggetto IConnector usando il metodo IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
- Unisci le forme usando le proprietà IConnector.StartShapeConnectedTo e IConnector.EndShapeConnectedTo.
- Chiama il metodo IConnector.Reroute() per creare il percorso di connessione automatica più breve.
- Salvare il file PPTX utilizzando il metodo Presentation.Save(String, SaveFormat).
Nell’esempio di codice seguente viene illustrato come connettere forme in una diapositiva di PowerPoint usando C#.
// Istanziare un oggetto Presentazione che rappresenta un file di presentazione
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Accesso alla raccolta di forme per la diapositiva selezionata
IShapeCollection shapes = pres.Slides[0].Shapes;
// Aggiungi autoshape Ellisse
IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);
// Aggiungi rettangolo di forma automatica
IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);
// Aggiunta della forma del connettore alla raccolta delle forme delle diapositive
IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);
// Unire forme ai connettori
connector.StartShapeConnectedTo = ellipse;
connector.EndShapeConnectedTo = rectangle;
// Reindirizzamento chiamata per impostare il percorso più breve automatico tra le forme
connector.Reroute();
// Salva presentazione
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Clonare le forme nelle diapositive di PowerPoint usando C#
Puoi anche clonare forme da una diapositiva PowerPoint a un’altra usando Aspose.Slides per .NET. Di seguito sono riportati i passaggi per eseguire questa operazione.
- Crea un’istanza della classe Presentazione.
- Ottieni il riferimento di una diapositiva usando Presentation.Slides[index] nell’oggetto ISlide.
- Accedi alle forme delle diapositive di origine utilizzando la raccolta ISlide.Shapes.
- Accedi alle forme delle diapositive di destinazione utilizzando la raccolta ISlide.Shapes.
- Clonare le forme dalla raccolta di forme della diapositiva di origine alla diapositiva di destinazione utilizzando il metodo IShapeCollection.AddClone(ISlide).
- Salva il file di presentazione aggiornato.
L’esempio di codice seguente mostra come clonare forme all’interno di diapositive di PowerPoint usando C#.
// Istanziare un oggetto Presentazione che rappresenta un file di presentazione
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Ottieni la raccolta delle forme dalla diapositiva di origine
IShapeCollection sourceShapes = pres.Slides[0].Shapes;
ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
// Ottieni la raccolta delle forme dalla diapositiva di destinazione
IShapeCollection destShapes = destSlide.Shapes;
destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
destShapes.AddClone(sourceShapes[2]);
// Forma del clone
destShapes.InsertClone(0, sourceShapes[0], 50, 150);
// Salva presentazione
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Rimuovere le forme dalle diapositive di PowerPoint usando C#
Di seguito sono riportati i passaggi per rimuovere le forme da una diapositiva di PowerPoint.
- Crea un’istanza della classe Presentazione per caricare il file PPTX.
- Accedi alla diapositiva desiderata da Presentation.Slides[index] nell’oggetto ISlide.
- Trova la forma con un IShape.AlternativeText specifico.
- Rimuovere la forma utilizzando il metodo ISlide.Shapes.Remove(IShape).
- Salva il file di presentazione aggiornato.
Nell’esempio di codice seguente viene illustrato come rimuovere forme da una diapositiva di PowerPoint usando C#.
// Istanziare un oggetto Presentazione che rappresenta un file di presentazione
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Ottieni la prima diapositiva
ISlide sld = pres.Slides[0];
// Aggiungi la forma automatica di tipo rettangolo
IShape shp1 = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 40, 150, 50);
IShape shp2 = sld.Shapes.AddAutoShape(ShapeType.Moon, 160, 40, 150, 50);
String alttext = "User Defined";
int iCount = sld.Shapes.Count;
for (int i = 0; i < iCount; i++)
{
// Recupera la forma
AutoShape ashp = (AutoShape)sld.Shapes[0];
if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
{
// Rimuovi forma
sld.Shapes.Remove(ashp);
}
}
// Salva presentazione
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Conclusione
MS PowerPoint ti consente di utilizzare vari tipi di forme per rendere le tue diapositive più elaborate. Puoi utilizzare ellissi, rettangoli, linee, ecc. per disegnare forme e connettori per unirli. Con l’aiuto di passaggi ed esempi di codice, questo articolo ha illustrato come aggiungere, clonare e rimuovere forme nelle diapositive di PowerPoint a livello di codice usando C#. Nel caso in cui desideri esplorare di più sull’API, puoi visitare la documentazione.