Convertir PowerPoint en JPG en C#

Aperçu

Cet article explique comment convertir une présentation PowerPoint au format JPG en utilisant C#. Il couvre les sujets suivants :

C# PowerPoint en JPG

Pour le code d’exemple en C# pour convertir PowerPoint en JPG, veuillez consulter la section ci-dessous, c’est-à-dire Convertir PowerPoint en JPG. Le code peut charger plusieurs formats comme PPT, PPTX et ODP dans un objet Présentation, puis enregistrer sa miniature de diapositive au format JPG. Les autres conversions PowerPoint en image qui sont assez similaires telles que PNG, BMP, TIFF et SVG sont abordées dans ces articles.

À propos de la conversion PowerPoint en JPG

Avec Aspose.Slides .NET API, vous pouvez convertir une présentation PowerPoint PPT ou PPTX en image JPG. Il est également possible de convertir PPT/PPTX en BMP, PNG ou SVG. Grâce à cette fonctionnalité, il est facile de mettre en œuvre votre propre visualiseur de présentation, de créer la miniature pour chaque diapositive. Cela peut être utile si vous souhaitez protéger les diapositives de présentation contre le copyright, ou démontrer la présentation en mode lecture seule. Aspose.Slides permet de convertir l’ensemble de la présentation ou une certaine diapositive en formats d’image.

todo:image_alt_text

Convertir PowerPoint PPT/PPTX en JPG

Voici les étapes pour convertir PPT/PPTX en JPG :

  1. Créez une instance de la classe Presentation.
  2. Obtenez l’objet diapositive de type ISlide à partir de la collection Presentation.Slides.
  3. Créez la miniature de chaque diapositive, puis convertissez-la en JPG. La méthode ISlide.GetImage(float scaleX, float scaleY) est utilisée pour obtenir une miniature d’une diapositive, elle retourne un objet Bitmap en résultat. La méthode GetImage doit être appelée depuis la diapositive nécessaire de type ISlide, les échelles de la miniature résultante sont passées dans la méthode.
  4. Après avoir obtenu la miniature de la diapositive, appelez la méthode Image.Save(string filename, ImageFormat format) depuis l’objet miniature. Passez le nom de fichier résultant et le format d’image en paramètre. 
const int imageScale = 1;

using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt"))
{
    foreach (ISlide slide in pres.Slides)
    {
        // Crée une image à échelle complète
        using (IImage thumbnail = slide.GetImage(imageScale, imageScale))
        {
            // Enregistre l'image sur le disque au format JPEG
			string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber);
            thumbnail.Save(imageFileName, ImageFormat.Jpeg);
        }
    }
}

Convertir PowerPoint PPT/PPTX en JPG avec des dimensions personnalisées

Pour changer la dimension de la miniature résultante et de l’image JPG, vous pouvez définir les valeurs ScaleX et ScaleY en les passant dans la méthode ISlide.GetImage(float scaleX, float scaleY) :

using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx"))
{
    // Définit les dimensions
    int desiredX = 1200;
    int desiredY = 800;

    // Obtient les valeurs mises à 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 slide in pres.Slides)
    {
        // Crée une image à échelle complète
        using (IImage thumbnail = slide.GetImage(scaleX, scaleY))
        {
            // Enregistre l'image sur le disque au format JPEG
			string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber);
            thumbnail.Save(imageFileName, ImageFormat.Jpeg);
        }
    }
}

Rendre les commentaires lors de la sauvegarde de la présentation en image

Aspose.Slides pour .NET fournit une fonctionnalité qui vous permet de rendre les commentaires dans les diapositives d’une présentation lorsque vous convertissez ces diapositives en images. Ce code C# démontre l’opération :

using (Presentation presentation = new Presentation("test.pptx"))
{
    IRenderingOptions options = new RenderingOptions
    {
        SlidesLayoutOptions = new NotesCommentsLayoutingOptions
        {
            NotesPosition = NotesPositions.BottomTruncated,
            CommentsAreaColor = Color.Red,
            CommentsAreaWidth = 200,
            CommentsPosition = CommentsPositions.Right
        }
    };

    using (IImage image = presentation.Slides[0].GetImage(options))
    {
        image.Save("OutPresBitmap.png", ImageFormat.Png);
    }

    System.Diagnostics.Process.Start("OutPresBitmap.png");
}

Voir aussi

Voir d’autres options pour convertir PPT/PPTX en image telles que :