SmartArt 用于增强 PowerPoint 演示文稿的体验并直观地呈现数据。它可用于使文本更加突出和吸引人,也可用于显示流程图、流程、关系图等。在本文中,您将学习如何使用 C++ 在 PowerPoint 演示文稿中创建 SmartArt。

用于在 PowerPoint 演示文稿中创建 SmartArt 的 C++ API

Aspose.Slides for C++ 是一个用于处理 PowerPoint 文件的 C++ API。它使您无需其他软件即可创建、阅读和修改 PPT 和 PPTX 文件。此外,API 支持在 PowerPoint 演示文稿中创建 SmartArt。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载。

PM> Install-Package Aspose.Slides.Cpp

使用 C++ 在 PowerPoint 中创建 SmartArt 形状

以下是在 PowerPoint 演示文稿中创建 SmartArt 形状的步骤。

以下示例代码展示了如何使用 C++ 在 PowerPoint 中创建 SmartArt 形状。

// 文件路径
const String outputFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";

// 加载演示文件
SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// 检索第一张幻灯片
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// 添加 SmartArt
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);
使用 C++ 在 PowerPoint 演示文稿中创建 SmartArt

示例代码生成的输出图像

在 PowerPoint 演示文稿中访问 SmartArt 形状

您可以按照以下步骤访问 PowerPoint 文件中的 SmartArt 形状。

以下示例代码展示了如何使用 C++ 从 PowerPoint 演示文稿中访问 SmartArt 形状。

// 文件路径
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....");
		}*/
	}
}

使用 C++ 更改 SmartArt 形状的样式

访问 SmartArt 形状后,您可以轻松更改其样式。以下是使用 C++ 更改 SmartArt 形状样式的步骤。

以下示例代码显示如何使用 C++ 更改 SmartArt 形状的样式。

// 文件路径
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,您可以申请 免费的临时许可证

结论

在本文中,您学习了如何使用 C++ 在 PowerPoint 演示文稿中创建 SmartArt 形状。此外,您还了解了如何使用 Aspose.Slides for C++ API 访问和更改 SmartArt 形状的样式。它是一个强大且功能丰富的 API,提供了许多用于处理 PowerPoint 文件的附加功能。您可以通过访问 官方文档 来详细探索 API。如有任何疑问,请随时通过我们的 免费支持论坛 与我们联系。

也可以看看