SmartArt в презентациях используется для предоставления информации в визуальной форме. Иногда принято делать простой текст более привлекательным. В то время как в других случаях он используется для демонстрации блок-схем, процессов, отношений между различными объектами и т. д. В этой статье вы узнаете, как программно создавать SmartArt в презентациях PowerPoint с помощью C#.

.NET API для создания SmartArt в PowerPoint

Для работы со SmartArt в презентациях PowerPoint мы будем использовать Aspose.Slides for .NET. Это мощная библиотека классов для создания презентаций PowerPoint и OpenOffice и управления ими. Вы можете установить API через NuGet или скачать его DLL.

PM> Install-Package Aspose.Slides.NET

Создание фигуры SmartArt в PowerPoint с помощью C#

Aspose.Slides for .NET предоставляет самый простой способ создания фигур SmartArt в презентациях. Для демонстрации давайте создадим фигуру SmartArt с нуля в презентации PowerPoint с помощью C#.

  • Создайте новую презентацию или загрузите существующую с помощью класса Presentation.
  • Получить ссылку на нужный слайд в объект ISlide.
  • Создайте SmartArt, используя метод ISlide.Shapes.AddSmartArt().
  • Сохраните обновленную презентацию с помощью метода Presentation.Save(String, SaveFormat).

В следующем примере кода показано, как создать фигуру SmartArt в презентации PowerPoint.

// Создайте презентацию или загрузите существующую
using (Presentation pres = new Presentation())
{
    // Доступ к слайду презентации
    ISlide slide = pres.Slides[0];

    // Добавить фигуру 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";
    
    // Сохранить презентацию
    pres.Save("SimpleSmartArt_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

На следующем снимке экрана показан вывод приведенного выше примера кода.

Создание SmartArt в PowerPoint C#

Доступ к фигуре SmartArt в PowerPoint с помощью C#

Вы также можете получить доступ к фигурам SmartArt в существующих презентациях PowerPoint. После доступа вы можете изменить их по мере необходимости. Ниже приведены шаги для доступа к фигурам SmartArt в презентациях PowerPoint с помощью C#.

  • Создайте новую презентацию или загрузите существующую с помощью класса Presentation.
  • Получить ссылку на нужный слайд в объект ISlide.
  • Перебирайте фигуры на слайде, используя коллекцию ISlide.Shapes.
  • Если фигура имеет тип ISmartArt, получите ссылку на нее в объект ISmartArt.
  • При необходимости отфильтруйте фигуры SmartArt определенного макета с помощью свойства ISmartArt.Layout.

В следующем примере кода показано, как получить доступ к фигурам SmartArt в презентациях PowerPoint.

// Загрузить презентацию
using (Presentation pres = new Presentation("AccessSmartArtShape.pptx"))
{
    // Итерация по каждой фигуре внутри желаемого слайда
    foreach (IShape shape in pres.Slides[0].Shapes)
    {
        // Проверьте, относится ли фигура к типу SmartArt
        if (shape is ISmartArt)
        {
            // Приведение формы к SmartArt
            ISmartArt smart = (ISmartArt)shape;
            System.Console.WriteLine("Shape Name:" + smart.Name);
            
            // Проверка макета SmartArt
            //если (smart.Layout == SmartArtLayoutType.BasicBlockList)
            //{
            //   Console.WriteLine("Сделайте что-нибудь здесь...");
            //}
        }
    }
}

Изменение стиля формы SmartArt с помощью C#

Получив доступ к фигуре SmartArt, вы также можете изменить ее стиль. Следующие шаги демонстрируют, как изменить стиль фигур SmartArt в презентации PowerPoint с помощью C#.

  • Создайте новую презентацию или загрузите существующую с помощью класса Presentation.
  • Получить ссылку на нужный слайд в объект ISlide.
  • Перебирайте фигуры на слайде, используя коллекцию ISlide.Shapes.
  • Если фигура имеет тип ISmartArt, получите ссылку на нее в объект ISmartArt.
  • Измените нужный стиль, например ISmartArt.ColorStyle, ISmartArt.QuickStyle и т. д.
  • Сохраните обновленную презентацию с помощью метода Presentation.Save(String, SaveFormat).

В следующем примере кода показано, как изменить стиль фигур SmartArt в презентациях PowerPoint.

// Загрузить презентацию
using (Presentation presentation = new Presentation("AccessSmartArtShape.pptx"))
{
    // Пройдитесь по каждой фигуре внутри первого слайда
    foreach (IShape shape in presentation.Slides[0].Shapes)
    {
        // Проверьте, относится ли фигура к типу SmartArt
        if (shape is ISmartArt)
        {
            // Приведение формы к SmartArt
            ISmartArt smart = (ISmartArt)shape;

            // Проверить стиль SmartArt
            if (smart.QuickStyle == SmartArtQuickStyleType.SimpleFill)
            {
                // Изменить стиль SmartArt
                smart.QuickStyle = SmartArtQuickStyleType.Cartoon;
            }
            
            // Проверьте тип цвета SmartArt
            if (smart.ColorStyle == SmartArtColorType.ColoredFillAccent1)
            {
                // Изменить тип цвета SmartArt
                smart.ColorStyle = SmartArtColorType.ColorfulAccentColors;
            }
        }
    }

    // Сохранить презентацию
    presentation.Save("ChangeSmartArtStyle_out.pptx", SaveFormat.Pptx);
}

Получите бесплатную лицензию API

Получите бесплатную временную лицензию для использования Aspose.Slides for .NET без ограничений пробной версии.

Вывод

В этой статье вы узнали, как создавать SmartArt в презентациях PowerPoint с помощью C#. Кроме того, вы увидели, как получить доступ к фигурам SmartArt и программно изменить их стили. Вы можете изучить документацию, чтобы узнать больше об Aspose.Slides для .NET. Кроме того, вы можете задать свои вопросы через наш форум.

Смотрите также