Convertir PPT et PPTX en JPG en C++

Vue d’ensemble

Convertir des présentations PowerPoint et OpenDocument en images JPG facilite le partage des diapositives, l’optimisation des performances et l’intégration du contenu dans des sites Web ou des applications. Aspose.Slides pour C++ vous permet de transformer les fichiers PPTX, PPT et ODP en images JPEG de haute qualité. Ce guide explique les différentes méthodes de conversion.

Grâce à ces fonctionnalités, il est simple de créer votre propre visionneuse de présentations et de générer une vignette pour chaque diapositive. Cela peut être utile si vous souhaitez protéger les diapositives contre la copie ou présenter la présentation en mode lecture seule. Aspose.Slides vous permet de convertir l’ensemble de la présentation ou une diapositive spécifique en formats d’image.

Convertir les diapositives de présentation en images JPG

Voici les étapes pour convertir un fichier PPT, PPTX ou ODP en JPG :

  1. Créez une instance de la classe Presentation.
  2. Récupérez l’objet diapositive du type ISlide à partir de la collection de diapositives de la présentation.
  3. Créez une image de la diapositive en utilisant la méthode ISlide.GetImage.
  4. Appelez la méthode IImage.Save sur l’objet image. Passez le nom du fichier de sortie et le format d’image en paramètres.
float scaleX = 1.0f;
float scaleY = scaleX;

auto presentation = MakeObject<Presentation>(u"PowerPoint-Presentation.ppt");

for (auto&& slide : presentation->get_Slides())
{
    // Créer une image de diapositive à l'échelle spécifiée.
    auto image = slide->GetImage(scaleX, scaleY);

    // Enregistrer l'image sur le disque au format JPEG.
    auto fileName = String::Format(u"Slide_{0}.jpg", slide->get_SlideNumber());
    image->Save(fileName, ImageFormat::Jpeg);

    image->Dispose();
}

presentation->Dispose();

Convertir les diapositives en JPG avec des dimensions personnalisées

Pour modifier les dimensions des images JPG générées, vous pouvez définir la taille de l’image en la transmettant à la méthode ISlide.GetImage(Size). Cela vous permet de créer des images avec des valeurs de largeur et de hauteur spécifiques, garantissant que la sortie répond à vos exigences de résolution et de proportion. Cette flexibilité est particulièrement utile lors de la génération d’images pour des applications Web, des rapports ou de la documentation, où des dimensions d’image précises sont requises.

Size imageSize(1200, 800);

auto presentation = MakeObject<Presentation>(u"PowerPoint-Presentation.pptx");

for (auto&& slide : presentation->get_Slides())
{
    // Créer une image de diapositive de la taille spécifiée.
    auto image = slide->GetImage(imageSize);

    // Enregistrer l'image sur le disque au format JPEG.
    auto fileName = System::String::Format(u"Slide_{0}.jpg", slide->get_SlideNumber());
    image->Save(fileName, ImageFormat::Jpeg);

    image->Dispose();
}

presentation->Dispose();

Rendre les commentaires lors de l’enregistrement des diapositives en images

Aspose.Slides pour C++ propose une fonctionnalité qui vous permet de rendre les commentaires sur les diapositives d’une présentation lors de leur conversion en images JPG. Cette fonctionnalité est particulièrement utile pour préserver les annotations, les retours ou les discussions ajoutés par des collaborateurs dans les présentations PowerPoint. En activant cette option, vous assurez que les commentaires sont visibles dans les images générées, facilitant ainsi la révision et le partage des retours sans avoir à ouvrir le fichier de présentation original.

Supposons que nous disposions d’un fichier de présentation, « sample.pptx », contenant une diapositive avec des commentaires :

La diapositive avec commentaires

Le code C++ suivant convertit la diapositive en image JPG tout en conservant les commentaires :

float scaleX = 2.0f;
float scaleY = scaleX;

auto presentation = MakeObject<Presentation>(u"sample.pptx");
{
    auto commentOptions = MakeObject<NotesCommentsLayoutingOptions>();
    commentOptions->set_CommentsPosition(CommentsPositions::Right);
    commentOptions->set_CommentsAreaWidth(200);
    commentOptions->set_CommentsAreaColor(Color::get_DarkOrange());

    // Définir les options pour les commentaires de la diapositive.
    auto options = MakeObject<RenderingOptions>();
    options->set_SlidesLayoutOptions(commentOptions);

    // Convertir la première diapositive en image.
    auto image = presentation->get_Slide(0)->GetImage(options, scaleX, scaleY);
        
    image->Save(u"Slide_1.jpg", ImageFormat::Jpeg);
    image->Dispose();
}

presentation->Dispose();

Le résultat :

L’image JPG avec commentaires

Voir aussi

Consultez d’autres options de conversion de PPT, PPTX ou ODP en images, telles que :

Convertisseur PPTX vers JPG en ligne gratuit

FAQ

Cette méthode prend‑elle en charge la conversion par lots ?

Oui, Aspose.Slides permet la conversion par lots de plusieurs diapositives en JPG en une seule opération.

La conversion prend‑elle en charge SmartArt, les graphiques et autres objets complexes ?

Oui, Aspose.Slides rend tout le contenu, y compris SmartArt, graphiques, tableaux, formes, etc. Cependant, la précision du rendu peut légèrement varier par rapport à PowerPoint, notamment lorsqu’il s’agit de polices personnalisées ou manquantes.

Existe‑t‑il des limites concernant le nombre de diapositives pouvant être traitées ?

Aspose.Slides lui‑même n’impose aucune limite stricte au nombre de diapositives que vous pouvez traiter. Toutefois, vous pouvez rencontrer des erreurs de mémoire insuffisante lors du traitement de présentations volumineuses ou d’images haute résolution.