SmartArt em apresentações é usado para fornecer as informações de forma visual. Por vezes, opta-se por tornar o texto simples mais apelativo. Considerando que, em outros casos, é usado para demonstrar fluxogramas, processos, relacionamentos entre diferentes entidades, etc. Neste artigo, você aprenderá como criar SmartArt em apresentações do PowerPoint programaticamente usando C#.

API .NET para criar SmartArt no PowerPoint

Para trabalhar com SmartArt em apresentações do PowerPoint, usaremos Aspose.Slides for .NET. É uma poderosa biblioteca de classes para criar e manipular apresentações em PowerPoint e OpenOffice. Você pode instalar a API via NuGet ou download sua DLL.

PM> Install-Package Aspose.Slides.NET

Criar uma forma SmartArt no PowerPoint usando C#

Aspose.Slides for .NET fornece a maneira mais fácil de criar as formas SmartArt nas apresentações. Para demonstração, vamos criar uma forma SmartArt do zero em uma apresentação do PowerPoint usando C#.

O exemplo de código a seguir mostra como criar uma forma SmartArt em uma apresentação do PowerPoint.

// Crie uma apresentação ou carregue uma existente
using (Presentation pres = new Presentation())
{
    // Acesse o slide da apresentação
    ISlide slide = pres.Slides[0];

    // Adicionar 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";
    
    // Salvar apresentação
    pres.Save("SimpleSmartArt_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

A captura de tela a seguir mostra a saída do exemplo de código acima.

Criar SmartArt no PowerPoint C#

Acesse uma forma SmartArt no PowerPoint usando C#

Você também pode acessar as formas SmartArt nas apresentações existentes do PowerPoint. Uma vez acessados, você pode modificá-los conforme necessário. A seguir estão as etapas para acessar as formas SmartArt em apresentações do PowerPoint usando C#.

  • Crie uma nova apresentação ou carregue uma existente usando a classe Apresentação.
  • Obtenha a referência do slide desejado em um objeto ISlide.
  • Percorra as formas no slide usando a coleção ISlide.Shapes.
  • Se a forma for do tipo ISmartArt, obtenha sua referência em um objeto ISmartArt.
  • Se necessário, filtre as formas SmartArt de um layout específico usando a propriedade ISmartArt.Layout.

O exemplo de código a seguir mostra como acessar formas SmartArt em apresentações do PowerPoint.

// Carregar a apresentação
using (Presentation pres = new Presentation("AccessSmartArtShape.pptx"))
{
    // Iterar através de cada forma dentro do slide desejado
    foreach (IShape shape in pres.Slides[0].Shapes)
    {
        // Verifique se a forma é do tipo SmartArt
        if (shape is ISmartArt)
        {
            // Forma Typecast para SmartArt
            ISmartArt smart = (ISmartArt)shape;
            System.Console.WriteLine("Shape Name:" + smart.Name);
            
            // Verificando o layout do SmartArt
            //if (smart.Layout == SmartArtLayoutType.BasicBlockList)
            //{
            //   Console.WriteLine("Faça alguma coisa aqui....");
            //}
        }
    }
}

Alterar o estilo da forma SmartArt usando C#

Depois de acessar uma forma SmartArt, você também pode alterar seu estilo. As etapas a seguir demonstram como alterar o estilo das formas SmartArt em uma apresentação do PowerPoint usando C#.

O exemplo de código a seguir mostra como alterar o estilo das formas SmartArt em apresentações do PowerPoint.

// Carregar apresentação
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
    // Atravesse todas as formas dentro do primeiro slide
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        // Verifique se a forma é do tipo SmartArt
        if (shape is ISmartArt)
        {
            // Forma Typecast para SmartArt
            ISmartArt smart = (ISmartArt)shape;

            // Verifique o estilo SmartArt
            if (smart.QuickStyle == SmartArtQuickStyleType.SimpleFill)
            {
                // Alterar estilo SmartArt
                smart.QuickStyle = SmartArtQuickStyleType.Cartoon;
            }
            
            // Verifique o tipo de cor SmartArt
            if (smart.ColorStyle == SmartArtColorType.ColoredFillAccent1)
            {
                // Alterar o tipo de cor SmartArt
                smart.ColorStyle = SmartArtColorType.ColorfulAccentColors;
            }
        }
    }

    // Salvar apresentação
    presentation.Save("ChangeSmartArtStyle_out.pptx", SaveFormat.Pptx);
}

Obtenha uma licença de API gratuita

Obtenha uma licença temporária gratuita para usar o Aspose.Slides para .NET sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como criar SmartArt em apresentações do PowerPoint usando C#. Além disso, você viu como acessar as formas SmartArt e alterar seus estilos programaticamente. Você pode explorar a documentação para saber mais sobre o Aspose.Slides para .NET. Além disso, você pode fazer suas perguntas através do nosso fórum.

Veja também