Фигуры — прекрасный способ сделать ваши презентации PowerPoint более детальными и привлекательными. PowerPoint предоставляет широкий спектр фигур, которые вы можете добавить к слайдам презентации, например, эллипсы, линии, прямоугольники, соединители и т. д. Чтобы автоматизировать эту функцию, в этой статье рассказывается, как программно добавлять, клонировать и удалять фигуры на слайдах PowerPoint с помощью C#.
- C# API для работы с фигурами PowerPoint
- Типы фигур PowerPoint
- Добавить фигуру в слайды PowerPoint
- Добавление соединителя к фигурам в слайдах PowerPoint
- Клонировать фигуру в слайдах PowerPoint
- Удалить фигуры из слайдов PowerPoint
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.
- Создайте экземпляр класса Presentation, чтобы создать новую презентацию или загрузить существующую.
- Получите ссылку на слайд, используя Presentation.Slides[index] в объекте ISlide.
- Добавьте эллипс (или любую другую фигуру), используя метод IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single), предоставляемый объектом IShapes.
- Сохраните файл PPTX, используя метод Presentation.Save(String, SaveFormat).
В следующем примере кода показано, как добавить фигуру на слайд 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.
- Создайте экземпляр класса Presentation, чтобы создать новую презентацию.
- Получите ссылку на слайд, используя Presentation.Slides[index] в объекте ISlide.
- Добавьте две фигуры так же, как вы добавили в предыдущем примере, и получите их ссылки в объектах IAutoShape.
- Создайте новый объект IConnector, используя метод IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
- Соедините фигуры с помощью свойств IConnector.StartShapeConnectedTo и IConnector.EndShapeConnectedTo.
- Вызовите метод IConnector.Reroute(), чтобы создать кратчайший путь автоматического подключения.
- Сохраните файл 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. Ниже приведены шаги для выполнения этой операции.
- Создайте экземпляр класса Презентация.
- Получите ссылку на слайд, используя Presentation.Slides[index] в объекте ISlide.
- Получите доступ к исходным формам слайдов, используя коллекцию ISlide.Shapes.
- Получите доступ к целевым формам слайдов, используя коллекцию ISlide.Shapes.
- Клонируйте фигуры из коллекции фигур исходного слайда на целевой слайд с помощью метода IShapeCollection.AddClone(ISlide).
- Сохраните обновленный файл презентации.
В следующем примере кода показано, как клонировать фигуры на слайдах 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.
- Создайте экземпляр класса Presentation для загрузки файла PPTX.
- Получите доступ к нужному слайду из Presentation.Slides[index] в объект ISlide.
- Найдите фигуру с определенным IShape.AlternativeText.
- Удалите фигуру с помощью метода ISlide.Shapes.Remove(IShape).
- Сохраните обновленный файл презентации.
В следующем примере кода показано, как удалить фигуры со слайда 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, вы можете посетить документацию.