Microsoft PowerPoint ti offre la possibilità di aggiungere forme alle tue presentazioni. Le forme possono essere utili in scenari come mostrare il flusso di dati o mostrare diverse fasi di un processo. È possibile utilizzare forme come ellissi, linee, rettangoli, ecc. e collegarle tramite connettori. Potresti trovarti in scenari in cui devi aggiungere forme alle diapositive di PowerPoint a livello di codice. A tal fine, questo articolo ti insegnerà come lavorare con le forme nelle presentazioni di PowerPoint usando C++.
- API C++ per lavorare con le forme nelle presentazioni di PowerPoint
- Aggiungi una forma a una diapositiva di PowerPoint
- Aggiungi forme connesse a una diapositiva di PowerPoint
- Clona forme nelle diapositive di PowerPoint
- Rimuovere le forme dalle diapositive di PowerPoint utilizzando C++
- Forme PowerPoint supportate
- Ottieni una licenza gratuita
API C++ per lavorare con le forme nelle presentazioni di PowerPoint
Aspose.Slides for C++ è una libreria C++ nativa che supporta la creazione, la lettura e la manipolazione di file PowerPoint. L’API supporta anche l’utilizzo delle forme nelle presentazioni PowerPoint. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.
PM> Install-Package Aspose.Slides.Cpp
Aggiungi una forma a una diapositiva di PowerPoint
Per aggiungere una forma, usa il metodo ISlide->getShapes()->AddAutoShape() fornito dall’API. Di seguito sono riportati i passaggi per aggiungere una forma a una diapositiva di PowerPoint.
- Innanzitutto, carica la presentazione PowerPoint utilizzando la classe Presentazione.
- Recupera la diapositiva in cui desideri aggiungere la forma utilizzando il metodo Presentation->getSlides()->idxget (int32t index).
- Aggiungi la forma usando il metodo ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height).
- Infine, salva la presentazione usando il metodo Presentazione->Salva (System::Nome stringa, Esporta::FormatoSalvaformato).
Di seguito è riportato il codice di esempio per aggiungere una forma a una diapositiva di PowerPoint utilizzando C++.
// Percorsi di file
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";
// Carica il file di presentazione
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Ottieni la prima diapositiva
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Aggiungi la forma
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
// Salva file di presentazione
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Aggiungi forme connesse a una diapositiva di PowerPoint
I connettori possono essere utilizzati per collegare le forme. Per creare un connettore, puoi usare il metodo ISlide->getShapes()->AddConnector(). Di seguito sono riportati i passaggi per aggiungere forme connesse a una diapositiva di PowerPoint.
- Innanzitutto, carica la presentazione PowerPoint utilizzando la classe Presentazione.
- Recupera la diapositiva in cui desideri aggiungere le forme utilizzando il metodo Presentation->getSlides()->idxget (int32t index).
- Aggiungi le forme usando il metodo ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height).
- Aggiungi il connettore usando il metodo ISlide->getShapes()->AddConnector (ShapeType shapeType, float x, float y, float width, float height).
- Collega le forme al connettore usando IConnector->setStartShapeConnectedTo (System::SharedPtr valore) e IConnector->setEndShapeConnectedTo (System::SharedPtr valore) metodi.
- Chiama il metodo IConnector->Reroute() per creare il percorso di connessione automatica più breve.
- Infine, salva la presentazione usando il metodo Presentazione->Salva (System::Nome stringa, Esporta::FormatoSalvaFormato).
Di seguito è riportato il codice di esempio per aggiungere forme connesse a una diapositiva di PowerPoint utilizzando C++.
// Percorsi di file
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";
// Carica il file di presentazione
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Ottieni la prima diapositiva
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Aggiungi la prima forma
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
// Aggiungi la seconda forma
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);
// Aggiungi il connettore
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);
// Unisci le forme con il connettore
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);
// Reindirizzamento chiamata per impostare il percorso più breve automatico tra le forme
connector->Reroute();
// Salva file di presentazione
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Clona forme nelle diapositive di PowerPoint
Puoi anche clonare forme esistenti usando l’API Aspose.Slides per C++. Per clonare una forma, utilizzare il metodo ShapeCollection->InsertClone() fornito dall’API. Di seguito sono riportati i passaggi per clonare le forme da una diapositiva all’altra.
- Innanzitutto, carica la presentazione PowerPoint utilizzando la classe Presentazione.
- Recupera la diapositiva sorgente usando il metodo Presentazione->getSlides()->idxget (int32t index).
- Accedi alle forme della diapositiva di origine utilizzando il metodo ISlide->getShapes().
- Accedi alle forme della diapositiva di destinazione utilizzando il metodo ISlide->getShapes().
- Clona la forma usando IShapeCollection->InsertClone (int32t index, System::SharedPtr sourceShape, float x, float y).
- Infine, salva la presentazione usando il metodo Presentazione->Salva (System::Nome stringa, Esporta::SalvaFormato).
Di seguito è riportato il codice di esempio per clonare forme nelle diapositive di PowerPoint utilizzando C++.
// Percorsi di file
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";
// Carica il file di presentazione
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Accedi alla prima diapositiva
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Accesso alla raccolta di forme per la diapositiva selezionata
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();
// Ottieni la raccolta delle forme dalla diapositiva di destinazione
SharedPtr<ISlide> destSlide = presentation->get_Slides()->idx_get(1);
SharedPtr<IShapeCollection> destShapes = destSlide->get_Shapes();
// Forma del clone
destShapes->InsertClone(0, sourceShapes->idx_get(1), 50, 150);
// Salva file di presentazione
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Rimuovere le forme dalle diapositive di PowerPoint utilizzando C++
Di seguito sono riportati i passaggi per rimuovere le forme dalle diapositive di PowerPoint.
- Innanzitutto, carica la presentazione PowerPoint utilizzando la classe Presentazione.
- Recupera la diapositiva da dove vuoi rimuovere la forma usando il metodo Presentation->getSlides()->idxget (int32t index).
- Trova la forma richiesta facendo corrispondere il testo alternativo usando il metodo IShape->getAlternativeText().
- Rimuovere la forma utilizzando ISlide->getShapes()->Remove (System::SharedPtr forma).
- Infine, salva la presentazione usando il metodo Presentazione->Salva (System::Nome stringa, Esporta::FormatoSalvaFormato).
Di seguito è riportato il codice di esempio per rimuovere le forme dalle diapositive di PowerPoint utilizzando C++.
// Percorsi di file
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";
// Carica il file di presentazione
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Accedi alla prima diapositiva
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++)
{
// Accedi alla forma
SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));
if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
{
// Rimuovi la forma
slide->get_Shapes()->Remove(ashape);
}
}
// Salva file di presentazione
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Forme PowerPoint supportate
Aspose.Slides per C++ supporta molte forme con cui lavorare. Di seguito è riportato un elenco di alcune delle forme supportate.
È possibile visualizzare l’elenco completo delle forme supportate visualizzando i valori enum ShapeType.
Ottieni una licenza gratuita
Puoi richiedere una licenza temporanea gratuita per provare l’API senza limitazioni di valutazione.
Conclusione
In questo articolo hai imparato a lavorare con le forme nelle presentazioni di PowerPoint usando C++. In particolare, hai imparato come aggiungere, clonare e rimuovere forme dalle diapositive di PowerPoint. Inoltre, hai visto come collegare le forme usando un connettore. Oltre a lavorare con le forme, Aspose.Slides per C++ offre molte funzionalità aggiuntive per migliorare le presentazioni di PowerPoint. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.