Microsoft PowerPoint предоставляет вам возможность добавлять фигуры в презентации. Фигуры могут быть полезны в таких сценариях, как отображение потока данных или отображение различных фаз процесса. Вы можете использовать такие фигуры, как эллипсы, линии, прямоугольники и т. д., и соединять их с помощью соединителей. Вы можете столкнуться с ситуациями, когда вам нужно программно добавлять фигуры на слайды PowerPoint. С этой целью эта статья научит вас работать с фигурами в презентациях PowerPoint с помощью C++.
- C++ API для работы с фигурами в презентациях PowerPoint
- Добавить фигуру в слайд PowerPoint
- Добавление связанных фигур в слайд PowerPoint
- Клонирование фигур в слайдах PowerPoint
- Удаление фигур из слайдов PowerPoint с помощью C++
- Поддерживаемые фигуры PowerPoint
- Получить бесплатную лицензию
C++ API для работы с фигурами в презентациях PowerPoint
Aspose.Slides for C++ — это собственная библиотека C++, которая поддерживает создание, чтение и управление файлами PowerPoint. API также поддерживает работу с фигурами в презентациях PowerPoint. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.Slides.Cpp
Добавить фигуру в слайд PowerPoint
Чтобы добавить фигуру, используйте метод ISlide->getShapes()->AddAutoShape(), предоставляемый API. Ниже приведены шаги, чтобы добавить фигуру на слайд PowerPoint.
- Во-первых, загрузите презентацию PowerPoint, используя класс Presentation.
- Получите слайд, на который вы хотите добавить фигуру, используя метод Presentation->getSlides()->idxget (индекс int32t).
- Добавьте фигуру с помощью метода ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height).
- Наконец, сохраните презентацию, используя метод Презентация->Сохранить (System::String name, Export::SaveFormat format).
Ниже приведен пример кода для добавления фигуры на слайд PowerPoint с помощью C++.
// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";
// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Получить первый слайд
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Добавьте форму
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
// Сохранить файл презентации
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Добавление связанных фигур в слайд PowerPoint
Соединители можно использовать для соединения фигур. Чтобы создать коннектор, вы можете использовать метод ISlide->getShapes()->AddConnector(). Ниже приведены шаги по добавлению связанных фигур на слайд PowerPoint.
- Во-первых, загрузите презентацию PowerPoint, используя класс Presentation.
- Получите слайд, на который вы хотите добавить фигуры, используя метод Presentation->getSlides()->idxget (индекс int32t).
- Добавьте фигуры, используя метод ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height).
- Добавьте соединитель, используя метод ISlide->getShapes()->AddConnector (ShapeType shapeType, float x, float y, float width, float height).
- Подключите фигуры к соединителю с помощью IConnector->setStartShapeConnectedTo (System::SharedPtr значение) и IConnector->setEndShapeConnectedTo (System::SharedPtr значение) методов.
- Вызовите метод IConnector->Reroute(), чтобы создать кратчайший путь автоматического подключения.
- Наконец, сохраните презентацию, используя метод Презентация->Сохранить (System::String name, Export::SaveFormat format).
Ниже приведен пример кода для добавления связанных фигур на слайд PowerPoint с помощью C++.
// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";
// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Получить первый слайд
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Добавьте первую форму
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
// Добавьте вторую форму
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);
// Добавьте соединитель
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);
// Соедините фигуры с помощью соединителя
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);
// Вызов перенаправления, чтобы установить автоматический кратчайший путь между фигурами
connector->Reroute();
// Сохранить файл презентации
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Клонирование фигур в слайдах PowerPoint
Вы также можете клонировать существующие фигуры с помощью Aspose.Slides for C++ API. Чтобы клонировать фигуру, используйте метод ShapeCollection->InsertClone(), предоставляемый API. Ниже приведены шаги для клонирования фигур с одного слайда на другой.
- Во-первых, загрузите презентацию PowerPoint, используя класс Presentation.
- Получите исходный слайд с помощью метода Presentation->getSlides()->idxget (индекс int32t).
- Получите доступ к формам исходного слайда с помощью метода ISlide->getShapes().
- Получите доступ к фигурам целевого слайда с помощью метода ISlide->getShapes().
- Клонируйте фигуру с помощью IShapeCollection->InsertClone (индекс int32t, System::SharedPtr sourceShape, float x, float y).
- Наконец, сохраните презентацию, используя метод Презентация->Сохранить (System::String name, Export::SaveFormat format).
Ниже приведен пример кода для клонирования фигур на слайдах PowerPoint с помощью C++.
// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";
// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Доступ к первому слайду
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Доступ к коллекции фигур для выбранного слайда
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();
// Получить коллекцию фигур с целевого слайда
SharedPtr<ISlide> destSlide = presentation->get_Slides()->idx_get(1);
SharedPtr<IShapeCollection> destShapes = destSlide->get_Shapes();
// Форма клона
destShapes->InsertClone(0, sourceShapes->idx_get(1), 50, 150);
// Сохранить файл презентации
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Удаление фигур из слайдов PowerPoint с помощью C++
Ниже приведены шаги по удалению фигур из слайдов PowerPoint.
- Во-первых, загрузите презентацию PowerPoint, используя класс Presentation.
- Получите слайд, с которого вы хотите удалить фигуру, используя метод Presentation->getSlides()->idxget (индекс int32t).
- Найдите нужную фигуру, сопоставив альтернативный текст с помощью метода IShape->getAlternativeText().
- Удалите фигуру с помощью команды [ISlide->getShapes()->Remove (System::SharedPtr форма) 28 метод.
- Наконец, сохраните презентацию с помощью метода Презентация->Сохранить (System::String name, Export::SaveFormat format).
Ниже приведен пример кода для удаления фигур со слайдов PowerPoint с помощью C++.
// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";
// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Доступ к первому слайду
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
String alttext = u"User Defined";
int iCount = slide->get_Shapes()->get_Count();
for (int i = 0; i < iCount; i++)
{
// Доступ к форме
SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));
if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
{
// Удалить форму
slide->get_Shapes()->Remove(ashape);
}
}
// Сохранить файл презентации
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Поддерживаемые фигуры PowerPoint
Aspose.Slides for C++ поддерживает множество форм, с которыми вы можете работать. Ниже приведен список некоторых поддерживаемых форм.
Вы можете просмотреть полный список поддерживаемых фигур, просмотрев значения перечисления ShapeType.
Получить бесплатную лицензию
Вы можете запросить бесплатную временную лицензию, чтобы попробовать API без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как работать с фигурами в презентациях PowerPoint с помощью C++. В частности, вы узнали, как добавлять, клонировать и удалять фигуры из слайдов PowerPoint. Кроме того, вы видели, как соединять фигуры с помощью соединителя. Помимо работы с фигурами, Aspose.Slides for C++ предоставляет множество дополнительных функций для улучшения ваших презентаций PowerPoint. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.