Générer des vignettes pour PowerPoint PPTX ou PPT en utilisant C++

Les vignettes sont généralement des images de petite taille qui montrent le contenu des fichiers et facilitent leur défilement. Microsoft PowerPoint affiche les miniatures des diapositives qui facilitent le défilement et l’ouverture de la diapositive souhaitée. Il peut arriver que vous souhaitiez créer votre propre application de visionneuse PowerPoint et que vous souhaitiez générer dynamiquement les miniatures des diapositives. Dans de tels cas, cet article vous apprendra comment générer des vignettes de présentations PowerPoint PPTX ou PPT par programmation à l’aide de C++.

API C++ pour générer des vignettes pour les fichiers PowerPoint PPTX/PPT

Pour générer des vignettes de fichiers PowerPoint, nous utiliserons l’API simple et facile à utiliser Aspose.Slides for C++. Il s’agit d’une API robuste qui fournit de nombreuses fonctionnalités qui vous aident à créer, lire et modifier des fichiers PowerPoint. L’API offre également la possibilité de générer des vignettes des fichiers PowerPoint. Pour commencer, vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.Slides.Cpp

Générer des vignettes pour les fichiers PowerPoint PPTX/PPT à l’aide de C++

Voici les étapes pour générer des vignettes de fichiers PowerPoint à l’aide de C++.

L’exemple de code suivant montre comment générer des miniatures de fichiers PowerPoint à l’aide de C++.

// Chemin du fichier source
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";

// Charger le fichier de présentation
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Parcourez les diapositives
for (SharedPtr<ISlide> slide : presentation->get_Slides())
{
	// Générer une vignette
	SharedPtr<System::Drawing::Bitmap> bitmap = slide->GetThumbnail(1, 1);

	// Enregistrez le fichier JPEG
	bitmap->Save(String::Format(u"OutputDirectory\\GenerateThumbnail_out_{0}.jpg", slide->get_SlideNumber()), System::Drawing::Imaging::ImageFormat::get_Jpeg());
}

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

Lors de la génération de vignettes de fichiers PowerPoint, vous pouvez également spécifier les dimensions des vignettes en fonction de vos besoins. Pour spécifier des dimensions personnalisées lors de la génération de vignettes, veuillez suivre les étapes ci-dessous.

L’exemple de code suivant montre comment générer des vignettes avec des dimensions personnalisées à l’aide de C++.

// Chemin du fichier source
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";

// Charger le fichier de présentation
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// 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 / presentation->get_SlideSize()->get_Size().get_Width()) * desiredX;
float ScaleY = (float)(1.0 / presentation->get_SlideSize()->get_Size().get_Height()) * desiredY;

// Parcourez les diapositives
for (SharedPtr<ISlide> slide : presentation->get_Slides())
{
	// Générer une vignette
	SharedPtr<System::Drawing::Bitmap> bitmap = slide->GetThumbnail(ScaleX, ScaleY);

	// Enregistrez le fichier JPEG
	bitmap->Save(String::Format(u"OutputDirectory\\GenerateThumbnailWithCustomDimensions_out_{0}.jpg", slide->get_SlideNumber()), System::Drawing::Imaging::ImageFormat::get_Jpeg());
}

Obtenez une licence gratuite

Afin d’essayer l’API sans limitation d’évaluation, vous pouvez demander une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à générer des vignettes pour les fichiers PowerPoint PPTX/PPT à l’aide de C++. De plus, vous avez vu comment générer des vignettes avec des dimensions personnalisées. Pour en savoir plus sur les fonctionnalités fournies par l’API Aspose.Slides for C++, vous pouvez consulter la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également