SmartArt nelle presentazioni viene utilizzato per fornire le informazioni in forma visiva. A volte, si sceglie di rendere il testo semplice più accattivante. Mentre, in altri casi, viene utilizzato per dimostrare diagrammi di flusso, processi, relazioni tra entità diverse, ecc. In questo articolo imparerai come creare SmartArt in presentazioni PowerPoint a livello di codice usando C#.

API .NET per creare SmartArt in PowerPoint

Per lavorare con SmartArt nelle presentazioni PowerPoint, utilizzeremo Aspose.Slides for .NET. È una potente libreria di classi per creare e manipolare presentazioni PowerPoint e OpenOffice. Puoi installare l’API tramite NuGet o scarica la sua DLL.

PM> Install-Package Aspose.Slides.NET

Crea una forma SmartArt in PowerPoint usando C#

Aspose.Slides per .NET fornisce il modo più semplice per creare le forme SmartArt nelle presentazioni. A scopo dimostrativo, creiamo una forma SmartArt da zero in una presentazione di PowerPoint usando C#.

Nell’esempio di codice seguente viene illustrato come creare una forma SmartArt in una presentazione di PowerPoint.

// Crea una presentazione o caricane una esistente
using (Presentation pres = new Presentation())
{
    // Accedi alla diapositiva della presentazione
    ISlide slide = pres.Slides[0];

    // Aggiungi forma SmartArt
    ISmartArt smart = slide.Shapes.AddSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
    smart.AllNodes[0].TextFrame.Text = "First Block";
    smart.AllNodes[1].TextFrame.Text = "Second Block";
    
    // Salva presentazione
    pres.Save("SimpleSmartArt_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

La schermata seguente mostra l’output dell’esempio di codice precedente.

Crea SmartArt in PowerPoint C#

Accedi a una forma SmartArt in PowerPoint usando C#

Puoi anche accedere alle forme SmartArt nelle presentazioni PowerPoint esistenti. Una volta effettuato l’accesso, è possibile modificarli secondo necessità. Di seguito sono riportati i passaggi per accedere alle forme SmartArt nelle presentazioni di PowerPoint usando C#.

  • Crea una nuova presentazione o caricane una esistente usando la classe Presentazione.
  • Ottieni il riferimento della diapositiva desiderata in un oggetto ISlide.
  • Scorri le forme nella diapositiva usando la raccolta ISlide.Shapes.
  • Se la forma è di tipo ISmartArt, ottieni il suo riferimento in un oggetto ISmartArt.
  • Se necessario, filtra le forme SmartArt di un layout specifico utilizzando la proprietà ISmartArt.Layout.

Nell’esempio di codice seguente viene illustrato come accedere alle forme SmartArt nelle presentazioni di PowerPoint.

// Carica la presentazione
using (Presentation pres = new Presentation("AccessSmartArtShape.pptx"))
{
    // Iterare attraverso ogni forma all'interno della diapositiva desiderata
    foreach (IShape shape in pres.Slides[0].Shapes)
    {
        // Verifica se la forma è di tipo SmartArt
        if (shape is ISmartArt)
        {
            // Typecast forma su SmartArt
            ISmartArt smart = (ISmartArt)shape;
            System.Console.WriteLine("Shape Name:" + smart.Name);
            
            // Controllo del layout SmartArt
            //se (smart.Layout == SmartArtLayoutType.BasicBlockList)
            //{
            //   Console.WriteLine("Fai qualcosa qui...");
            //}
        }
    }
}

Modifica lo stile di SmartArt Shape usando C#

Dopo aver effettuato l’accesso a una forma SmartArt, puoi anche cambiarne lo stile. I passaggi seguenti illustrano come modificare lo stile delle forme SmartArt in una presentazione di PowerPoint usando C#.

Nell’esempio di codice seguente viene illustrato come modificare lo stile delle forme SmartArt nelle presentazioni di PowerPoint.

// Carica presentazione
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
    // Attraversa ogni forma all'interno della prima diapositiva
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        // Verifica se la forma è di tipo SmartArt
        if (shape is ISmartArt)
        {
            // Typecast forma su SmartArt
            ISmartArt smart = (ISmartArt)shape;

            // Controlla lo stile SmartArt
            if (smart.QuickStyle == SmartArtQuickStyleType.SimpleFill)
            {
                // Cambia stile SmartArt
                smart.QuickStyle = SmartArtQuickStyleType.Cartoon;
            }
            
            // Controlla il tipo di colore SmartArt
            if (smart.ColorStyle == SmartArtColorType.ColoredFillAccent1)
            {
                // Cambia il tipo di colore SmartArt
                smart.ColorStyle = SmartArtColorType.ColorfulAccentColors;
            }
        }
    }

    // Salva presentazione
    presentation.Save("ChangeSmartArtStyle_out.pptx", SaveFormat.Pptx);
}

Ottieni una licenza API gratuita

Ottieni una licenza temporanea gratuita per utilizzare Aspose.Slides per .NET senza limitazioni di valutazione.

Conclusione

In questo articolo hai imparato come creare SmartArt in presentazioni PowerPoint usando C#. Inoltre, hai visto come accedere alle forme SmartArt e modificarne gli stili a livello di codice. Puoi esplorare la documentazione per saperne di più su Aspose.Slides per .NET. Inoltre, puoi porre le tue domande tramite il nostro forum.

Guarda anche