Работа с фигурами на слайдах в C#.jpg

Фигуры — прекрасный способ сделать ваши презентации PowerPoint более детальными и привлекательными. PowerPoint предоставляет широкий спектр фигур, которые вы можете добавить к слайдам презентации, например, эллипсы, линии, прямоугольники, соединители и т. д. Чтобы автоматизировать эту функцию, в этой статье рассказывается, как программно добавлять, клонировать и удалять фигуры на слайдах PowerPoint с помощью C#.

C# API для работы с фигурами PowerPoint

Aspose.Slides for .NET — это API C#, предназначенный для работы с презентациями PowerPoint из приложений .NET. Наряду с другими функциями управления презентациями API предоставляет простые способы работы с фигурами на слайдах PowerPoint. Вы можете загрузить API DLL или установить его через NuGet.

Install-Package Aspose.Slides.NET

Фигуры PowerPoint

Aspose.Slides для .NET поддерживает широкий спектр типов фигур, которые вы можете добавлять в слайды PowerPoint. К наиболее часто используемым формам относятся:

Добавление фигуры в слайды PowerPoint с помощью C#

Чтобы добавить форму, то есть эллипс, линию, прямоугольник и т. д., Aspose.Slides предоставляет метод IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single). Перечисление ShapeType позволяет вам указать тип фигуры, которую вы хотите добавить. Ниже приведены шаги, чтобы добавить фигуру на слайд PowerPoint.

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

// Создание экземпляра объекта Presentation, который представляет файл презентации
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Получить первый слайд
    ISlide sld = pres.Slides[0];

    // Добавить автофигуру типа эллипса
    sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);

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

Добавление коннектора для подключения фигур PowerPoint в C#

Соединитель — это линия, которая используется для соединения фигур, чтобы соединить их. Соединитель может быть прямой или изогнутой линией. Давайте посмотрим, как добавить соединитель между двумя фигурами на слайде PowerPoint.

  1. Создайте экземпляр класса Presentation, чтобы создать новую презентацию.
  2. Получите ссылку на слайд, используя Presentation.Slides[index] в объекте ISlide.
  3. Добавьте две фигуры так же, как вы добавили в предыдущем примере, и получите их ссылки в объектах IAutoShape.
  4. Создайте новый объект IConnector, используя метод IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. Соедините фигуры с помощью свойств IConnector.StartShapeConnectedTo и IConnector.EndShapeConnectedTo.
  6. Вызовите метод IConnector.Reroute(), чтобы создать кратчайший путь автоматического подключения.
  7. Сохраните файл PPTX, используя метод Presentation.Save(String, SaveFormat).

В следующем примере кода показано, как соединить фигуры на слайде PowerPoint с помощью C#.

// Создание экземпляра объекта Presentation, который представляет файл презентации
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Доступ к коллекции фигур для выбранного слайда
    IShapeCollection shapes = pres.Slides[0].Shapes;

    // Добавить автоформу Эллипс
    IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

    // Добавить прямоугольник автофигуры
    IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

    // Добавление формы соединителя в коллекцию фигур слайдов
    IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

    // Присоединение фигур к соединителям
    connector.StartShapeConnectedTo = ellipse;
    connector.EndShapeConnectedTo = rectangle;

    // Вызов перенаправления, чтобы установить автоматический кратчайший путь между фигурами
    connector.Reroute();

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

Клонирование фигур в слайдах PowerPoint с помощью C#

Вы также можете клонировать фигуры с одного слайда PowerPoint на другой с помощью Aspose.Slides для .NET. Ниже приведены шаги для выполнения этой операции.

  1. Создайте экземпляр класса Презентация.
  2. Получите ссылку на слайд, используя Presentation.Slides[index] в объекте ISlide.
  3. Получите доступ к исходным формам слайдов, используя коллекцию ISlide.Shapes.
  4. Получите доступ к целевым формам слайдов, используя коллекцию ISlide.Shapes.
  5. Клонируйте фигуры из коллекции фигур исходного слайда на целевой слайд с помощью метода IShapeCollection.AddClone(ISlide).
  6. Сохраните обновленный файл презентации.

В следующем примере кода показано, как клонировать фигуры на слайдах PowerPoint с помощью C#.

// Создание экземпляра объекта Presentation, представляющего файл презентации
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Получить коллекцию фигур из исходного слайда
    IShapeCollection sourceShapes = pres.Slides[0].Shapes;
    ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
    ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
    
    // Получить коллекцию фигур с целевого слайда
    IShapeCollection destShapes = destSlide.Shapes;
    destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
    destShapes.AddClone(sourceShapes[2]);
    
    // Форма клона
    destShapes.InsertClone(0, sourceShapes[0], 50, 150);

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

Удаление фигур из слайдов PowerPoint с помощью C#

Ниже приведены шаги по удалению фигур из слайда PowerPoint.

  1. Создайте экземпляр класса Presentation для загрузки файла PPTX.
  2. Получите доступ к нужному слайду из Presentation.Slides[index] в объект ISlide.
  3. Найдите фигуру с определенным IShape.AlternativeText.
  4. Удалите фигуру с помощью метода ISlide.Shapes.Remove(IShape).
  5. Сохраните обновленный файл презентации.

В следующем примере кода показано, как удалить фигуры со слайда PowerPoint с помощью C#.

// Создание экземпляра объекта Presentation, представляющего файл презентации
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Получить первый слайд
    ISlide sld = pres.Slides[0];

    // Добавить автофигуру прямоугольного типа
    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++)
    {
        // Получить форму
        AutoShape ashp = (AutoShape)sld.Shapes[0];
        if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
        {
            // Удалить фигуру
            sld.Shapes.Remove(ashp);
        }
    }

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

Вывод

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

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