Les formes sont un excellent moyen de rendre vos présentations PowerPoint plus élaborées et attrayantes. PowerPoint propose une large gamme de formes que vous pouvez ajouter à vos diapositives de présentation, à savoir des ellipses, des lignes, des rectangles, des connecteurs, etc. Afin d’automatiser cette fonctionnalité, cet article explique comment ajouter, cloner et supprimer des formes dans les diapositives PowerPoint par programmation à l’aide de C#.
- API C# pour travailler avec des formes PowerPoint
- Types de formes PowerPoint
- Ajouter une forme aux diapositives PowerPoint
- Ajouter un connecteur aux formes dans les diapositives PowerPoint
- Cloner une forme dans des diapositives PowerPoint
- Supprimer les formes des diapositives PowerPoint
API C# pour travailler avec des formes PowerPoint
Aspose.Slides for .NET est une API C# conçue pour fonctionner avec des présentations PowerPoint à partir des applications .NET. Outre d’autres fonctionnalités de manipulation de présentation, l’API fournit des moyens simples de travailler avec des formes dans des diapositives PowerPoint. Vous pouvez soit télécharger la DLL de l’API, soit l’installer via NuGet.
Install-Package Aspose.Slides.NET
Formes PowerPoint
Aspose.Slides for .NET prend en charge un large éventail de types de formes que vous pouvez ajouter aux diapositives PowerPoint. Les formes les plus couramment utilisées incluent :
Ajouter une forme aux diapositives PowerPoint à l’aide de C#
Afin d’ajouter une forme, c’est-à-dire une ellipse, une ligne, un rectangle, etc., Aspose.Slides fournit la méthode IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single). L’énumération ShapeType vous permet de spécifier le type de forme que vous souhaitez ajouter. Voici les étapes pour ajouter une forme à une diapositive PowerPoint.
- Créez une instance de la classe Presentation pour créer une nouvelle présentation ou en charger une existante.
- Obtenez la référence d’une diapositive en utilisant Presentation.Slides[index] dans l’objet ISlide.
- Ajoutez une Ellipse (ou toute autre forme) à l’aide de la méthode IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single) exposée par l’objet IShapes.
- Enregistrez le fichier PPTX à l’aide de la méthode Presentation.Save(String, SaveFormat).
L’exemple de code suivant montre comment ajouter une forme dans une diapositive PowerPoint à l’aide de C#.
// Instancier un objet Presentation qui représente un fichier de présentation
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Obtenir la première diapositive
ISlide sld = pres.Slides[0];
// Ajouter une forme automatique de type ellipse
sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);
// Enregistrer la présentation
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Ajouter un connecteur pour connecter des formes PowerPoint en C#
Un connecteur est une ligne utilisée pour connecter des formes afin de les joindre. Un connecteur peut être une ligne droite ou courbe. Voyons comment ajouter un connecteur entre deux formes dans une diapositive PowerPoint.
- Créez une instance de la classe Presentation pour créer une nouvelle présentation.
- Obtenez la référence d’une diapositive en utilisant Presentation.Slides[index] dans l’objet ISlide.
- Ajoutez deux formes comme vous l’avez fait dans l’exemple précédent et récupérez leurs références dans les objets IAutoShape.
- Créez un nouvel objet IConnector à l’aide de la méthode IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
- Joignez les formes à l’aide des propriétés IConnector.StartShapeConnectedTo et IConnector.EndShapeConnectedTo.
- Appelez la méthode IConnector.Reroute() pour créer le chemin de connexion automatique le plus court.
- Enregistrez le fichier PPTX à l’aide de la méthode Presentation.Save(String, SaveFormat).
L’exemple de code suivant montre comment connecter des formes dans une diapositive PowerPoint à l’aide de C#.
// Instancier un objet Presentation qui représente un fichier de présentation
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Accéder à la collection de formes pour la diapositive sélectionnée
IShapeCollection shapes = pres.Slides[0].Shapes;
// Ajouter une forme automatique Ellipse
IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);
// Ajouter un rectangle de forme automatique
IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);
// Ajout d'une forme de connecteur à une collection de formes de diapositives
IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);
// Joindre des formes à des connecteurs
connector.StartShapeConnectedTo = ellipse;
connector.EndShapeConnectedTo = rectangle;
// Appelez reroute pour définir le chemin le plus court automatique entre les formes
connector.Reroute();
// Enregistrer la présentation
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Cloner des formes dans des diapositives PowerPoint à l’aide de C#
Vous pouvez également cloner des formes d’une diapositive PowerPoint à une autre en utilisant Aspose.Slides for .NET. Voici les étapes pour effectuer cette opération.
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive en utilisant Presentation.Slides[index] dans l’objet ISlide.
- Accédez aux formes de diapositive source à l’aide de la collection ISlide.Shapes.
- Accédez aux formes de diapositive de destination à l’aide de la collection ISlide.Shapes.
- Clonez les formes de la collection de formes de diapositive source vers la diapositive de destination à l’aide de la méthode IShapeCollection.AddClone(ISlide).
- Enregistrez le fichier de présentation mis à jour.
L’exemple de code suivant montre comment cloner des formes dans des diapositives PowerPoint à l’aide de C#.
// Instancier un objet Presentation qui représente un fichier de présentation
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Obtenir la collection de formes à partir de la diapositive source
IShapeCollection sourceShapes = pres.Slides[0].Shapes;
ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
// Obtenir la collection de formes à partir de la diapositive de destination
IShapeCollection destShapes = destSlide.Shapes;
destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
destShapes.AddClone(sourceShapes[2]);
// Forme clonée
destShapes.InsertClone(0, sourceShapes[0], 50, 150);
// Enregistrer la présentation
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Supprimer les formes des diapositives PowerPoint à l’aide de C#
Voici les étapes pour supprimer des formes d’une diapositive PowerPoint.
- Créez une instance de la classe Presentation pour charger le fichier PPTX.
- Accédez à la diapositive souhaitée depuis Presentation.Slides[index] dans l’objet ISlide.
- Trouvez la forme avec un IShape.AlternativeText spécifique.
- Supprimez la forme à l’aide de la méthode ISlide.Shapes.Remove(IShape).
- Enregistrez le fichier de présentation mis à jour.
L’exemple de code suivant montre comment supprimer des formes d’une diapositive PowerPoint à l’aide de C#.
// Instancier un objet Presentation qui représente un fichier de présentation
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Obtenir la première diapositive
ISlide sld = pres.Slides[0];
// Ajouter une forme automatique de type rectangle
IShape shp1 = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 40, 150, 50);
IShape shp2 = sld.Shapes.AddAutoShape(ShapeType.Moon, 160, 40, 150, 50);
String alttext = "User Defined";
int iCount = sld.Shapes.Count;
for (int i = 0; i < iCount; i++)
{
// Récupérer la forme
AutoShape ashp = (AutoShape)sld.Shapes[0];
if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
{
// Supprimer la forme
sld.Shapes.Remove(ashp);
}
}
// Enregistrer la présentation
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
Conclusion
MS PowerPoint vous permet d’utiliser différents types de formes afin de rendre vos diapositives plus élaborées. Vous pouvez utiliser des ellipses, des rectangles, des lignes, etc. pour dessiner vos formes et des connecteurs pour les joindre. À l’aide d’étapes et d’exemples de code, cet article a expliqué comment ajouter, cloner et supprimer des formes dans des diapositives PowerPoint par programmation à l’aide de C#. Si vous souhaitez en savoir plus sur l’API, vous pouvez consulter la documentation.