générer des vignettes PPTX en C#

Les miniatures sont couramment utilisées pour créer des versions de petite taille des images plus grandes. Ils facilitent la consultation ou le défilement de la liste des images. MS PowerPoint vous fournit également les vignettes des diapositives d’une présentation. À l’aide des vignettes des diapositives, vous pouvez facilement parcourir la présentation et accéder à une diapositive particulière. Dans cet article, vous apprendrez à générer des vignettes de PowerPoint PPTX ou PPT à l’aide de C#. Cela peut être utile dans des scénarios tels que lorsque vous devez créer votre propre visionneuse PowerPoint sur le Web ou sur le bureau.

API .NET pour générer des vignettes pour PowerPoint PPTX/PPT

Afin de générer des vignettes pour les présentations PPTX ou PPT, nous utiliserons Aspose.Slides for .NET. C’est une API puissante qui vous permet de créer et de manipuler des documents PowerPoint et OpenOffice. De plus, il vous permet de convertir des présentations vers d’autres formats de fichiers. Vous pouvez soit télécharger l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Slides.NET

Générer des vignettes pour PPTX ou PPT à l’aide de C#

Voici les étapes pour générer des vignettes d’une présentation PPTX à l’aide de C#.

  1. Commencez par créer une instance de la classe Presentation pour charger la présentation.
  2. Parcourez chaque ISlide dans la collection Presentation.Slides.
  3. Générez la vignette de chaque diapositive à l’aide de la méthode ISlide.GetThumbnail(1f, 1f) et récupérez la référence de la vignette dans un objet Bitmap.
  4. Enfin, enregistrez la vignette dans le format d’image souhaité à l’aide de la méthode Bitmap.Save(String, System.Drawing.Imaging.ImageFormat).

L’exemple de code suivant montre comment générer des vignettes d’une présentation PPTX à l’aide de C#.

// Charger la présentation PowerPoint
using (Presentation pres = new Presentation("presentation.pptx"))
{
    foreach (ISlide sld in pres.Slides)
    {
        // Créer une image à grande échelle
        Bitmap bmp = sld.GetThumbnail(1f, 1f);

        // Enregistrez l'image sur le disque au format JPEG
        bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}

Générer des vignettes avec des dimensions définies par l’utilisateur

Vous pouvez également personnaliser les dimensions des vignettes en fonction de vos besoins. Ceci peut être réalisé en utilisant les propriétés Presentation.SlideSize.Size.Width et Presentation.SlideSize.Size.Height. Voici les étapes pour effectuer cette opération.

  1. Commencez par créer une instance de la classe Presentation pour charger la présentation.
  2. Ensuite, définissez les dimensions souhaitées des vignettes et mettez les valeurs à l’échelle à l’aide des propriétés Width et Height.
  3. Parcourez chaque ISlide dans la collection Presentation.Slides.
  4. Générez la vignette de chaque diapositive à l’aide de la méthode ISlide.GetThumbnail(Single, Single) et récupérez la référence de la vignette dans un objet Bitmap.
  5. Enfin, enregistrez la vignette dans le format d’image souhaité à l’aide de la méthode Bitmap.Save(String, System.Drawing.Imaging.ImageFormat).

L’exemple de code suivant montre comment générer des vignettes d’un PPTX avec des dimensions personnalisées.

// Charger la présentation PowerPoint
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Dimension définie par l'utilisateur
    int desiredX = 1200;
    int desiredY = 800;

    // Obtenir la valeur mise à l'échelle de X et Y
    float ScaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX;
    float ScaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY;

    foreach (ISlide sld in pres.Slides)
    {
        // Créer une image à grande échelle
        Bitmap bmp = sld.GetThumbnail(ScaleX, ScaleY);

        // Enregistrez l'image sur le disque au format JPEG
        bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}

Obtenez une licence API gratuite

Vous pouvez utiliser Aspose.Slides for .NET sans limitation d’évaluation en demandant une licence temporaire.

Conclusion

Dans cet article, vous avez appris à générer des vignettes de PowerPoint PPTX ou PPT à l’aide de C#. De plus, vous avez vu comment générer des vignettes aux dimensions souhaitées. De plus, vous pouvez visiter la documentation pour explorer d’autres fonctionnalités de l’API. N’hésitez pas non plus à nous faire part de vos questions via notre forum.

Voir également