Travailler avec des formes dans des présentations PowerPoint à l'aide de C++

Microsoft PowerPoint vous offre la possibilité d’ajouter des formes à vos présentations. Les formes peuvent être utiles dans des scénarios tels que l’affichage du flux de données ou l’affichage des différentes phases d’un processus. Vous pouvez utiliser des formes telles que des ellipses, des lignes, des rectangles, etc. et les connecter à l’aide de connecteurs. Vous pouvez vous retrouver dans des scénarios où vous devez ajouter des formes aux diapositives PowerPoint par programmation. À cette fin, cet article vous apprendra à travailler avec des formes dans des présentations PowerPoint à l’aide de C++.

API C++ pour travailler avec des formes dans des présentations PowerPoint

Aspose.Slides for C++ est une bibliothèque C++ native qui prend en charge la création, la lecture et la manipulation de fichiers PowerPoint. L’API prend également en charge l’utilisation de formes dans les présentations PowerPoint. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.Slides.Cpp

Ajouter une forme à une diapositive PowerPoint

Pour ajouter une forme, utilisez la méthode ISlide->getShapes()->AddAutoShape() fournie par l’API. Voici les étapes pour ajouter une forme à une diapositive PowerPoint.

Voici l’exemple de code permettant d’ajouter une forme à une diapositive PowerPoint à l’aide de C++.

// Chemins de fichiers
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";

// Charger le fichier de présentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Obtenir la première diapositive
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Ajouter la forme
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Enregistrer le fichier de présentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Ajouter une forme à la diapositive PowerPoint

Ajouter des formes connectées à une diapositive PowerPoint

Les connecteurs peuvent être utilisés pour connecter des formes. Pour créer un connecteur, vous pouvez utiliser la méthode ISlide->getShapes()->AddConnector(). Voici les étapes pour ajouter des formes connectées à une diapositive PowerPoint.

Voici l’exemple de code permettant d’ajouter des formes connectées à une diapositive PowerPoint à l’aide de C++.

// Chemins de fichiers
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";

// Charger le fichier de présentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Obtenir la première diapositive
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Ajouter la première forme
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Ajouter la deuxième forme
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);

// Ajouter le connecteur
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);

// Joindre les formes avec le connecteur
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);

// Appelez reroute pour définir le chemin le plus court automatique entre les formes
connector->Reroute();

// Enregistrer le fichier de présentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Ajouter des formes connectées à la diapositive PowerPoint

Cloner des formes dans des diapositives PowerPoint

Vous pouvez également cloner des formes existantes à l’aide de l’API Aspose.Slides for C++. Pour cloner une forme, utilisez la méthode ShapeCollection->InsertClone() fournie par l’API. Voici les étapes pour cloner des formes d’une diapositive à une autre.

Voici un exemple de code pour cloner des formes dans des diapositives PowerPoint à l’aide de C++.

// Chemins de fichiers
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";

// Charger le fichier de présentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Accéder à la première diapositive
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Accéder à la collection de formes pour la diapositive sélectionnée
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();

// Obtenir la collection de formes à partir de la diapositive de destination
SharedPtr<ISlide> destSlide = presentation->get_Slides()->idx_get(1);
SharedPtr<IShapeCollection> destShapes = destSlide->get_Shapes();

// Forme clonée
destShapes->InsertClone(0, sourceShapes->idx_get(1), 50, 150);

// Enregistrer le fichier de présentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Cloner des formes dans des diapositives PowerPoint

Supprimer les formes des diapositives PowerPoint à l’aide de C++

Voici les étapes pour supprimer des formes des diapositives PowerPoint.

Voici l’exemple de code permettant de supprimer des formes des diapositives PowerPoint à l’aide de C++.

// Chemins de fichiers
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";

// Charger le fichier de présentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Accéder à la première diapositive
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++)
{
	// Accéder à la forme
	SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));

	if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
	{
		// Supprimer la forme
		slide->get_Shapes()->Remove(ashape);
	}
}

// Enregistrer le fichier de présentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Formes PowerPoint prises en charge

Aspose.Slides for C++ prend en charge de nombreuses formes avec lesquelles vous pouvez travailler. Voici une liste de certaines des formes prises en charge.

Vous pouvez afficher la liste complète des formes prises en charge en affichant les valeurs d’énumération ShapeType.

Obtenez une licence gratuite

Vous pouvez demander une licence temporaire gratuite pour essayer l’API sans limitation d’évaluation.

Conclusion

Dans cet article, vous avez appris à utiliser des formes dans des présentations PowerPoint à l’aide de C++. Plus précisément, vous avez appris à ajouter, cloner et supprimer des formes de diapositives PowerPoint. De plus, vous avez vu comment connecter des formes à l’aide d’un connecteur. En plus de travailler avec des formes, Aspose.Slides for C++ fournit de nombreuses fonctionnalités supplémentaires pour améliorer vos présentations PowerPoint. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également