Travailler avec des formes dans des diapositives en C#.jpg

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

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.

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.

  1. Créez une instance de la classe Presentation pour créer une nouvelle présentation.
  2. Obtenez la référence d’une diapositive en utilisant Presentation.Slides[index] dans l’objet ISlide.
  3. 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.
  4. Créez un nouvel objet IConnector à l’aide de la méthode IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. Joignez les formes à l’aide des propriétés IConnector.StartShapeConnectedTo et IConnector.EndShapeConnectedTo.
  6. Appelez la méthode IConnector.Reroute() pour créer le chemin de connexion automatique le plus court.
  7. 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.

  1. Créez une instance de la classe Presentation.
  2. Obtenez la référence d’une diapositive en utilisant Presentation.Slides[index] dans l’objet ISlide.
  3. Accédez aux formes de diapositive source à l’aide de la collection ISlide.Shapes.
  4. Accédez aux formes de diapositive de destination à l’aide de la collection ISlide.Shapes.
  5. 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).
  6. 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.

  1. Créez une instance de la classe Presentation pour charger le fichier PPTX.
  2. Accédez à la diapositive souhaitée depuis Presentation.Slides[index] dans l’objet ISlide.
  3. Trouvez la forme avec un IShape.AlternativeText spécifique.
  4. Supprimez la forme à l’aide de la méthode ISlide.Shapes.Remove(IShape).
  5. 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.

Voir également