Fusionner des présentations PowerPoint en C++

Les présentations PowerPoint sont utilisées dans de nombreux scénarios tels que les réunions, les présentations, les discussions, etc. Il peut y avoir des situations où vous avez différentes présentations créées par des personnes distinctes ou des présentations individuelles utilisées dans diverses réunions. Vous devrez peut-être fusionner ces présentations à des fins de partage ou de documentation. Faire cette tâche manuellement prendrait du temps. Le moyen efficace serait d’y parvenir par programmation. Dans cet article, vous apprendrez à fusionner des présentations PowerPoint à l’aide de C++.

API C++ pour fusionner des présentations PowerPoint

Aspose.Slides for C++ est une bibliothèque C++ qui fournit un ensemble de fonctionnalités pour travailler avec des présentations PowerPoint. L’API vous permet de créer, modifier et convertir des présentations PowerPoint sans utiliser Microsoft PowerPoint. De plus, l’API offre la possibilité de fusionner différents fichiers PowerPoint. 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

Fusionner des présentations PowerPoint en C++

Le processus de fusion de deux présentations à l’aide d’Aspose.Slides for C++ est un jeu d’enfant. Pour ce faire, vous chargez les deux présentations, parcourez les diapositives de la présentation source et ajoutez leur clone à la présentation cible. Voici les étapes pour fusionner deux présentations PowerPoint.

Voici un exemple de code pour fusionner des présentations PowerPoint à l’aide de C++.

// Chemin d'accès au répertoire des documents.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";

// Instancier la classe de présentation
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);

for (SharedPtr<ISlide> slide : presentation2->get_Slides())
{
	// Fusionner les diapositives de la source à la destination 
	presentation1->get_Slides()->AddClone(slide);
}

// Enregistrer la présentation
presentation1->Save(outputFilePath, SaveFormat::Pptx);

Les images suivantes montrent les fichiers de présentation source, de destination et fusionnés.

Présentation des destinations

Image de présentation PowerPoint de destination

Image de présentation PowerPoint de destination.

Présentation des sources

Source de l'image de présentation PowerPoint.

Source de l’image de présentation PowerPoint.

Présentation fusionnée

Image de présentation PowerPoint fusionnée

Image de présentation PowerPoint fusionnée.

Fusionner des diapositives PowerPoint spécifiques à l’aide de C++

Il peut y avoir des situations où vous n’êtes pas intéressé par l’ensemble de la présentation mais souhaitez plutôt ajouter un sous-ensemble de diapositives. Pour ce faire, vous ajoutez la condition nécessaire tout en parcourant les diapositives de la présentation source. Voici les étapes pour fusionner les diapositives PowerPoint sélectionnées.

Voici un exemple de code pour fusionner des diapositives PowerPoint sélectionnées à l’aide de C++.

// Chemin d'accès au répertoire des documents.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";

// Charger les fichiers de présentation
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);

for (int i = 0; i < presentation2->get_Slides()->get_Count(); i++)
{
	// Fusionner uniquement les diapositives paires
	if (i % 2 == 0)
	{
		presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(i));
	}
}

// Enregistrer la présentation
presentation1->Save(outputFilePath, SaveFormat::Pptx);

L’image suivante montre le fichier de présentation fusionné. Les fichiers de présentation source et destination sont les mêmes que ceux utilisés dans l’exemple précédent.

Présentation fusionnée

Présentation PowerPoint fusionnée avec des diapositives sélectionnées ajoutées

Présentation PowerPoint fusionnée avec des diapositives sélectionnées ajoutées.

Utiliser le masque des diapositives pour fusionner des présentations PowerPoint

Dans les deux exemples précédents, la conception des présentations source et destination était la même. Les images suivantes montrent le résultat de la fusion de présentations avec différents designs.

Présentation des destinations

Image de présentation PowerPoint de destination

Image de présentation PowerPoint de destination.

Présentation des sources

Source de l'image de présentation PowerPoint

Source de l’image de présentation PowerPoint.

Présentation fusionnée

Présentation PowerPoint fusionnée avec la première diapositive ajoutée

Présentation PowerPoint fusionnée avec la première diapositive ajoutée.

Vous pouvez voir dans l’image de présentation fusionnée que la troisième diapositive a conservé son style d’origine pendant le processus de fusion. Si vous souhaitez que les diapositives source utilisent les styles de présentation de destination, veuillez suivre les étapes suivantes.

Voici l’exemple de code pour fusionner des présentations PowerPoint à l’aide du masque des diapositives.

// Chemin d'accès au répertoire des documents.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";

// Charger les fichiers de présentation
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);

// Fusionner la première diapositive à l'aide du masque des diapositives
presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(0), presentation1->get_Masters()->idx_get(0), true);

// Enregistrer la présentation
presentation1->Save(outputFilePath, SaveFormat::Pptx);

L’image suivante montre la présentation fusionnée générée par l’exemple de code ci-dessus.

Présentation fusionnée

Présentation PowerPoint fusionnée avec la première diapositive ajoutée à l'aide des styles de présentation de destination

Présentation PowerPoint fusionnée avec la première diapositive ajoutée à l’aide des styles de présentation de destination.

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à fusionner plusieurs présentations PowerPoint à l’aide de C++. Vous avez vu comment fusionner des présentations complètes ou des diapositives sélectionnées. De plus, vous avez appris à utiliser le style de la présentation de destination pour combiner les présentations. Aspose.Slides for C++ offre de nombreuses fonctionnalités supplémentaires pour travailler avec des fichiers PowerPoint. Vous pouvez explorer l’API en détail en utilisant la documentation officielle. Si vous avez des questions, n’hésitez pas à nous contacter sur le forum.

Voir également