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

C++ API для создания SmartArt в презентациях PowerPoint

Aspose.Slides for C++ — это C++ API для работы с файлами PowerPoint. Он позволяет создавать, читать и изменять файлы PPT и PPTX без дополнительного программного обеспечения. Кроме того, API поддерживает создание SmartArt в презентациях PowerPoint. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.

PM> Install-Package Aspose.Slides.Cpp

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

Ниже приведены шаги по созданию фигуры SmartArt в презентациях PowerPoint.

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

// Путь к файлу
const String outputFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";

// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// Получить первый слайд
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Добавить смарт-арт
auto smartArt = slide->get_Shapes()->AddSmartArt(0, 0, 400, 400, Aspose::Slides::SmartArt::SmartArtLayoutType::BasicBlockList);

smartArt->get_AllNodes()->idx_get(0)->get_TextFrame()->set_Text(u"First Block");
smartArt->get_AllNodes()->idx_get(1)->get_TextFrame()->set_Text(u"Second Block");

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Создание SmartArt в презентациях PowerPoint с помощью C++

Изображение вывода, сгенерированного примером кода

Доступ к фигуре SmartArt в презентации PowerPoint

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

  • Загрузите файл PowerPoint с помощью класса Presentation.
  • Прокрутите фигуры.
  • Если фигура имеет тип ISmartArt, получите ссылку на нее как на объект ISmartArt.

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

// Путь к файлу
const String sourceFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";

// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Цикл по фигурам
for (auto shape : presentation->get_Slides()->idx_get(0)->get_Shapes())
{
	// Проверьте, относится ли фигура к типу SmartArt
	if (System::ObjectExt::Is<Aspose::Slides::SmartArt::SmartArt>(shape))
	{
		// Приведение формы к SmartArt
		auto smartArt = System::DynamicCast_noexcept<ISmartArt>(shape);

		Console::WriteLine(String::Format(u"Shape Name: {0}", smartArt->get_Name()));

		// Проверка макета SmartArt
		/*if (smartArt->get_Layout() == SmartArtLayoutType::BasicBlockList)
		{
			Console::WriteLine(u"Do some thing here....");
		}*/
	}
}

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

Вы можете легко изменить стиль фигуры SmartArt после доступа к ней. Ниже приведены шаги по изменению стиля фигуры SmartArt с помощью C++.

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

// Пути к файлам
const String sourceFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";
const String outputFilePath = u"OutputDirectory\\ChangeSmartArt_out.pptx";

// Загрузите файл презентации
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Цикл по фигурам
for (auto shape : presentation->get_Slides()->idx_get(0)->get_Shapes())
{
	// Проверьте, относится ли фигура к типу SmartArt
	if (System::ObjectExt::Is<Aspose::Slides::SmartArt::SmartArt>(shape))
	{
		// Приведение формы к SmartArt
		auto smartArt = System::DynamicCast_noexcept<ISmartArt>(shape);

		// Проверить стиль SmartArt
		if (smartArt->get_QuickStyle() == SmartArtQuickStyleType::SimpleFill) {
			// Изменить стиль SmartArt
			smartArt->set_QuickStyle(SmartArtQuickStyleType::Cartoon);
		}

		// Проверьте тип цвета SmartArt
		if (smartArt->get_ColorStyle() == SmartArtColorType::ColoredFillAccent1) {
			// Изменить тип цвета SmartArt
			smartArt->set_ColorStyle(SmartArtColorType::ColorfulAccentColors);
		}
	}
}

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

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

Чтобы попробовать API без ограничений на пробную версию, вы можете запросить бесплатную временную лицензию.

Вывод

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

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