SmartArt viene utilizzato per migliorare l’esperienza delle presentazioni PowerPoint e per presentare i dati visivamente. Può essere utilizzato per rendere il testo più prominente e accattivante e anche per mostrare diagrammi di flusso, processi, grafici relazionali, ecc. In questo articolo imparerai come creare SmartArt in presentazioni PowerPoint usando C++.
- API C++ per la creazione di SmartArt nelle presentazioni PowerPoint
- Crea una forma SmartArt in PowerPoint usando C++
- Accedi a una forma SmartArt nella presentazione di PowerPoint
- Modifica lo stile di una forma SmartArt utilizzando C++
API C++ per la creazione di SmartArt in presentazioni PowerPoint
Aspose.Slides for C++ è un’API C++ per lavorare con i file PowerPoint. Ti consente di creare, leggere e modificare file PPT e PPTX senza bisogno di software aggiuntivo. Inoltre, l’API supporta la creazione di SmartArt nelle presentazioni PowerPoint. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.
PM> Install-Package Aspose.Slides.Cpp
Crea una forma SmartArt in PowerPoint usando C++
Di seguito sono riportati i passaggi per creare una forma SmartArt nelle presentazioni di PowerPoint.
- Crea un’istanza della classe Presentazione per rappresentare un nuovo file PowerPoint.
- Recupera la diapositiva desiderata.
- Aggiungi la SmartArt usando il metodo ISlide->getShapes()->AddSmartArt(float x, float y, float width, float height, SmartArt::SmartArtLayoutType layoutType).
- Salva la presentazione usando il metodo Presentazione->Salva(System::String fname, Export::SaveFormat format).
Il codice di esempio seguente mostra come creare una forma SmartArt in PowerPoint usando C++.
// Percorso del file
const String outputFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";
// Carica il file di presentazione
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Recupera la prima diapositiva
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Aggiungi 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");
// Salva presentazione
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Accedi a una forma SmartArt nella presentazione di PowerPoint
Puoi accedere alle forme SmartArt nei file PowerPoint seguendo i passaggi indicati di seguito.
- Carica il file PowerPoint utilizzando la classe Presentazione.
- Passa attraverso le forme.
- Se la forma è di tipo ISmartArt, ottieni il suo riferimento come oggetto ISmartArt.
Il codice di esempio seguente illustra come accedere a una forma SmartArt da una presentazione di PowerPoint tramite C++.
// Percorso del file
const String sourceFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";
// Carica il file di presentazione
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Passa attraverso le forme
for (auto shape : presentation->get_Slides()->idx_get(0)->get_Shapes())
{
// Verifica se la forma è di tipo SmartArt
if (System::ObjectExt::Is<Aspose::Slides::SmartArt::SmartArt>(shape))
{
// Typecast forma su SmartArt
auto smartArt = System::DynamicCast_noexcept<ISmartArt>(shape);
Console::WriteLine(String::Format(u"Shape Name: {0}", smartArt->get_Name()));
// Controllo del layout SmartArt
/*if (smartArt->get_Layout() == SmartArtLayoutType::BasicBlockList)
{
Console::WriteLine(u"Do some thing here....");
}*/
}
}
Modifica lo stile di una forma SmartArt utilizzando C++
È possibile modificare facilmente lo stile della forma SmartArt dopo l’accesso. Di seguito sono riportati i passaggi per modificare lo stile di una forma SmartArt utilizzando C++.
- Carica il file PowerPoint utilizzando la classe Presentazione.
- Passa attraverso le forme.
- Se la forma è di tipo ISmartArt, ottieni il suo riferimento come oggetto ISmartArt.
- Modificare lo stile utilizzando i metodi ISmartArt->setColorStyle(valore SmartArtColorType) e ISmartArt->setQuickStyle(valore SmartArtQuickStyleType).
- Salva la presentazione usando il metodo Presentazione->Salva(System::String fname, Export::SaveFormat format).
Il codice di esempio seguente mostra come modificare lo stile di una forma SmartArt usando C++.
// Percorsi di file
const String sourceFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";
const String outputFilePath = u"OutputDirectory\\ChangeSmartArt_out.pptx";
// Carica il file di presentazione
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Passa attraverso le forme
for (auto shape : presentation->get_Slides()->idx_get(0)->get_Shapes())
{
// Verifica se la forma è di tipo SmartArt
if (System::ObjectExt::Is<Aspose::Slides::SmartArt::SmartArt>(shape))
{
// Typecast forma su SmartArt
auto smartArt = System::DynamicCast_noexcept<ISmartArt>(shape);
// Controlla lo stile SmartArt
if (smartArt->get_QuickStyle() == SmartArtQuickStyleType::SimpleFill) {
// Cambia stile SmartArt
smartArt->set_QuickStyle(SmartArtQuickStyleType::Cartoon);
}
// Controlla il tipo di colore SmartArt
if (smartArt->get_ColorStyle() == SmartArtColorType::ColoredFillAccent1) {
// Cambia il tipo di colore SmartArt
smartArt->set_ColorStyle(SmartArtColorType::ColorfulAccentColors);
}
}
}
// Salva presentazione
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Ottieni una licenza gratuita
Per provare l’API senza limitazioni di valutazione, puoi richiedere una licenza temporanea gratuita.
Conclusione
In questo articolo hai imparato come creare una forma SmartArt nelle presentazioni di PowerPoint usando C++. Inoltre, hai visto come accedere e modificare lo stile di una forma SmartArt utilizzando Aspose.Slides per l’API C++. È un’API robusta e ricca di funzionalità che fornisce molte funzionalità aggiuntive per lavorare con i file PowerPoint. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci nel nostro forum di supporto gratuito.