SmartArt se utiliza para mejorar la experiencia de las presentaciones de PowerPoint y para presentar datos visualmente. Se puede usar para hacer que el texto sea más destacado y atractivo y también se puede usar para mostrar diagramas de flujo, procesos, gráficos relacionales, etc. En este artículo, aprenderá cómo crear SmartArt en presentaciones de PowerPoint usando C++.
- API de C++ para crear SmartArt en presentaciones de PowerPoint
- Cree una forma SmartArt en PowerPoint usando C++
- Acceder a una forma SmartArt en una presentación de PowerPoint
- Cambiar el estilo de una forma SmartArt usando C++
API de C++ para crear SmartArt en presentaciones de PowerPoint
Aspose.Slides for C++ es una API de C++ para trabajar con archivos de PowerPoint. Le permite crear, leer y modificar archivos PPT y PPTX sin necesidad de software adicional. Además, la API admite la creación de SmartArt en presentaciones de PowerPoint. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.
PM> Install-Package Aspose.Slides.Cpp
Cree una forma SmartArt en PowerPoint usando C++
Los siguientes son los pasos para crear una forma SmartArt en presentaciones de PowerPoint.
- Cree una instancia de la clase Presentation para representar un nuevo archivo de PowerPoint.
- Recuperar la diapositiva deseada.
- Agregue el SmartArt usando el método ISlide->get_Shapes()->AddSmartArt(float x, float y, float width, float height, SmartArt::SmartArtLayoutType layoutType).
- Guarde la presentación usando el método Presentation->Save(System::String fname, Export::SaveFormat format).
El siguiente código de ejemplo muestra cómo crear una forma SmartArt en PowerPoint usando C++.
// Ruta de archivo
const String outputFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";
// Cargue el archivo de presentación
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Recuperar la primera diapositiva
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Agregar arte inteligente
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");
// Guardar presentación
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Acceder a una forma SmartArt en una presentación de PowerPoint
Puede acceder a las formas SmartArt en archivos de PowerPoint siguiendo los pasos que se indican a continuación.
- Cargue el archivo de PowerPoint usando la clase Presentation.
- Bucle a través de las formas.
- Si la forma es del tipo ISmartArt, obtenga su referencia como un objeto ISmartArt.
El siguiente código de ejemplo muestra cómo acceder a una forma SmartArt desde una presentación de PowerPoint mediante C++.
// Ruta de archivo
const String sourceFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";
// Cargue el archivo de presentación
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Bucle a través de las formas
for (auto shape : presentation->get_Slides()->idx_get(0)->get_Shapes())
{
// Comprobar si la forma es de tipo SmartArt
if (System::ObjectExt::Is<Aspose::Slides::SmartArt::SmartArt>(shape))
{
// Tipo de forma en SmartArt
auto smartArt = System::DynamicCast_noexcept<ISmartArt>(shape);
Console::WriteLine(String::Format(u"Shape Name: {0}", smartArt->get_Name()));
// Comprobación del diseño de SmartArt
/*if (smartArt->get_Layout() == SmartArtLayoutType::BasicBlockList)
{
Console::WriteLine(u"Do some thing here....");
}*/
}
}
Cambiar el estilo de una forma SmartArt usando C++
Puede cambiar fácilmente el estilo de la forma SmartArt después de acceder a ella. Los siguientes son los pasos para cambiar el estilo de una forma SmartArt usando C++.
- Cargue el archivo de PowerPoint utilizando la clase Presentation.
- Bucle a través de las formas.
- Si la forma es del tipo ISmartArt, obtenga su referencia como un objeto ISmartArt.
- Cambie el estilo usando los métodos ISmartArt->set_ColorStyle(SmartArtColorType value) y ISmartArt->set_QuickStyle(SmartArtQuickStyleType value).
- Guarde la presentación usando el método Presentation->Save(System::String fname, Export::SaveFormat format).
El siguiente código de ejemplo muestra cómo cambiar el estilo de una forma SmartArt mediante C++.
// Rutas de archivos
const String sourceFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";
const String outputFilePath = u"OutputDirectory\\ChangeSmartArt_out.pptx";
// Cargue el archivo de presentación
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Bucle a través de las formas
for (auto shape : presentation->get_Slides()->idx_get(0)->get_Shapes())
{
// Comprobar si la forma es de tipo SmartArt
if (System::ObjectExt::Is<Aspose::Slides::SmartArt::SmartArt>(shape))
{
// Tipo de forma en SmartArt
auto smartArt = System::DynamicCast_noexcept<ISmartArt>(shape);
// Comprobar estilo SmartArt
if (smartArt->get_QuickStyle() == SmartArtQuickStyleType::SimpleFill) {
// Cambiar el estilo de SmartArt
smartArt->set_QuickStyle(SmartArtQuickStyleType::Cartoon);
}
// Comprobar el tipo de color de SmartArt
if (smartArt->get_ColorStyle() == SmartArtColorType::ColoredFillAccent1) {
// Cambiar el tipo de color de SmartArt
smartArt->set_ColorStyle(SmartArtColorType::ColorfulAccentColors);
}
}
}
// Guardar presentación
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Obtenga una licencia gratis
Para probar la API sin limitaciones de evaluación, puede solicitar una licencia temporal gratuita.
Conclusión
En este artículo, ha aprendido a crear una forma SmartArt en presentaciones de PowerPoint utilizando C++. Además, ha visto cómo acceder y cambiar el estilo de una forma SmartArt utilizando Aspose.Slides for C++. Es una API robusta y rica en funciones que proporciona muchas funciones adicionales para trabajar con archivos de PowerPoint. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna consulta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.