Lavora con le forme nelle diapositive in C#.jpg

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

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.

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.

  1. Crea un’istanza della classe Presentation per creare una nuova presentazione.
  2. Ottieni il riferimento di una diapositiva usando Presentation.Slides[index] nell’oggetto ISlide.
  3. Aggiungi due forme proprio come hai aggiunto nell’esempio precedente e ottieni i loro riferimenti negli oggetti IAutoShape.
  4. Crea un nuovo oggetto IConnector usando il metodo IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. Unisci le forme usando le proprietà IConnector.StartShapeConnectedTo e IConnector.EndShapeConnectedTo.
  6. Chiama il metodo IConnector.Reroute() per creare il percorso di connessione automatica più breve.
  7. 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.

  1. Crea un’istanza della classe Presentazione.
  2. Ottieni il riferimento di una diapositiva usando Presentation.Slides[index] nell’oggetto ISlide.
  3. Accedi alle forme delle diapositive di origine utilizzando la raccolta ISlide.Shapes.
  4. Accedi alle forme delle diapositive di destinazione utilizzando la raccolta ISlide.Shapes.
  5. Clonare le forme dalla raccolta di forme della diapositiva di origine alla diapositiva di destinazione utilizzando il metodo IShapeCollection.AddClone(ISlide).
  6. 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.

  1. Crea un’istanza della classe Presentazione per caricare il file PPTX.
  2. Accedi alla diapositiva desiderata da Presentation.Slides[index] nell’oggetto ISlide.
  3. Trova la forma con un IShape.AlternativeText specifico.
  4. Rimuovere la forma utilizzando il metodo ISlide.Shapes.Remove(IShape).
  5. 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.

Guarda anche