Fusionner des fichiers PowerPoint en C#

La fusion de présentations PowerPoint peut être utile dans divers scénarios tels que la combinaison de contenu de plusieurs PPT/PPTX, la fusion de parties d’une seule présentation créée par deux personnes ou plus, etc. La manière manuelle de copier/coller le contenu peut ne pas convenir lors de la avec plusieurs présentations. Par conséquent, cet article permet aux développeurs .NET d’apprendre à fusionner des présentations PowerPoint par programmation à l’aide de C#.

API de fusion PowerPoint .NET

Aspose.Slides for .NET est une API PowerPoint .NET riche en fonctionnalités qui vous permet de créer et de manipuler des documents de présentation. Parallèlement à cela, il vous permet de combiner deux ou plusieurs présentations PowerPoint en utilisant C# ou VB.NET. Vous pouvez télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

Fusionner des présentations PowerPoint à l’aide de C#

Dans cette section, vous apprendrez à cloner et à fusionner toutes les diapositives d’une présentation PowerPoint à une autre. Pour cela, vous pouvez simplement cloner les diapositives de la présentation source et les ajouter à la fin de la présentation cible. Voici les étapes pour fusionner deux présentations.

  • Créez un objet de classe Presentation pour charger le fichier de présentation cible.
  • Créez un autre objet Presentation pour charger la présentation source à partir de laquelle vous clonerez les diapositives.
  • Accédez à la collection de diapositives à partir de la présentation source à l’aide de la propriété Presentation.Slides.
  • Parcourez la collection de diapositives et fusionnez-les dans la présentation cible à l’aide de la méthode Presentation.Slides.AddClone(ISlide).
  • Enregistrez la présentation fusionnée à l’aide de la méthode Presentation.Save(String, SaveFormat).

L’exemple de code suivant montre comment fusionner deux présentations PowerPoint à l’aide de C#.

// Instancier un objet Presentation qui représente un fichier de présentation cible
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // Instancier un objet Presentation qui représente un fichier de présentation source
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		foreach (ISlide slide in presentation2.Slides)
		{
      // Fusionner les diapositives de la source à la cible 
			presentation1.Slides.AddClone(slide);
		}
	}
  // Enregistrer la présentation
	presentation1.Save("merged-presentation.pptx", Export.SaveFormat.Pptx);
}

Présentation cible

présentation powerpoint cible

Présentation des sources

présentation powerpoint source à fusionner

Présentation fusionnée

fusionner présentation powerpoint C#

Fusionner des diapositives particulières de présentations PowerPoint à l’aide de C#

Dans l’exemple précédent, vous avez fusionné toutes les diapositives du fichier PPTX source dans le PPTX cible. Cependant, il peut arriver que vous deviez fusionner uniquement les diapositives sélectionnées. Dans ce cas, vous pouvez spécifier les diapositives à fusionner à l’aide de l’index de la diapositive. Voici les étapes pour effectuer cette opération.

  • Chargez la présentation cible à l’aide de la classe Presentation.
  • Chargez la présentation source à l’aide de la classe Presentation.
  • Clonez les diapositives souhaitées à l’aide de la méthode presentation1.Slides.AddClone(presentation2.Slides[int Index]).
  • Enregistrez la présentation fusionnée en tant que nouveau fichier PPTX.

L’exemple de code suivant montre comment fusionner des diapositives particulières de présentations à l’aide de C#.

// Instancier un objet Presentation qui représente un fichier de présentation cible
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // Instancier un objet Presentation qui représente un fichier de présentation source
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// Fusionner uniquement les diapositives paires de la présentation2 (la première diapositive est à l'index 0)
		for (int i = 1; i <= presentation2.Slides.Count; i = i + 2)
		{
			presentation1.Slides.AddClone(presentation2.Slides[i]);
		}
	}
	presentation1.Save("merged-presentation-even.pptx", Export.SaveFormat.Pptx);
}

Présentation fusionnée

présentation powerpoint fusionnée avec C#

Utiliser le masque des diapositives lors de la fusion de présentations PowerPoint

Dans les deux exemples précédents, vous avez fusionné les diapositives en conservant la conception et le modèle de la présentation source. Cependant, dans certains cas, vous devrez peut-être modifier la mise en page des diapositives en fonction de la présentation cible. Dans de tels cas, vous pouvez utiliser la méthode surchargée [presentation1.Slides.AddClone(presentation2.Slides1, presentation1.Masters[0], true)]12.

L’exemple de code suivant montre comment fusionner les diapositives d’une présentation PowerPoint à l’aide du masque des diapositives en C#.

// Instancier un objet Presentation qui représente un fichier de présentation cible
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // Instancier un objet Presentation qui représente un fichier de présentation source
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// Fusionner les deux premières diapositives uniquement à l'aide du masque des diapositives
		presentation1.Slides.AddClone(presentation2.Slides[0], presentation1.Masters[0], true);
		presentation1.Slides.AddClone(presentation2.Slides[1], presentation1.Masters[0], true);
	}
	presentation1.Save("merged-presentation-master.pptx", Export.SaveFormat.Pptx);
}

Présentation fusionnée

présentation powerpoint combinée avec C#

Conclusion

Dans cet article, vous avez appris à fusionner deux ou plusieurs présentations PowerPoint à l’aide de C#. Vous pouvez porter les exemples de code C# afin de fusionner des présentations à l’aide de VB.NET. Si vous souhaitez en savoir plus sur l’API .NET PowerPoint d’Aspose, vous pouvez consulter la documentation.

Voir également

Conseil : Vous pourriez être intéressé par l’essai d’une application de visionneuse Web pour les présentations développée avec les API d’Aspose.