Combinar archivos de PowerPoint en C#

Combinar presentaciones de PowerPoint puede ser útil en varios escenarios, como combinar contenido de múltiples PPT/PPTX, combinar partes de una sola presentación creada por dos o más personas, etc. La forma manual de copiar/pegar el contenido puede no ser adecuada cuando se trata de con varias presentaciones. Por lo tanto, este artículo permite a los desarrolladores de .NET aprender a combinar presentaciones de PowerPoint mediante programación mediante C#.

API de combinación de PowerPoint de .NET

Aspose.Slides for .NET es una API de PowerPoint de .NET rica en funciones que le permite crear y manipular documentos de presentación. Junto con eso, te permite combinar dos o más presentaciones de PowerPoint usando C# o VB.NET. Puede descargar la DLL de la API o instalarla mediante NuGet.

Combinar presentaciones de PowerPoint usando C#

En esta sección, aprenderá a clonar y fusionar todas las diapositivas de una presentación de PowerPoint a otra. Para esto, simplemente puede clonar las diapositivas de la presentación de origen y agregarlas al final de la presentación de destino. Los siguientes son los pasos para fusionar dos presentaciones.

El siguiente ejemplo de código muestra cómo fusionar dos presentaciones de PowerPoint usando C#.

// Cree una instancia de un objeto de presentación que represente un archivo de presentación de destino
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // Cree una instancia de un objeto de presentación que represente un archivo de presentación de origen
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		foreach (ISlide slide in presentation2.Slides)
		{
      // Combinar diapositivas de origen a destino 
			presentation1.Slides.AddClone(slide);
		}
	}
  // Guardar la presentación
	presentation1.Save("merged-presentation.pptx", Export.SaveFormat.Pptx);
}

Presentación de destino

presentación de powerpoint de destino

Presentación de la fuente

fuente de presentación de powerpoint para fusionar

Presentación fusionada

fusionar presentación de powerpoint C#

Combine diapositivas particulares de presentaciones de PowerPoint usando C#

En el ejemplo anterior, fusionó todas las diapositivas del archivo PPTX de origen en el PPTX de destino. Sin embargo, puede darse el caso de que necesite fusionar solo las diapositivas seleccionadas. En tal caso, puede especificar las diapositivas que se fusionarán usando el índice de la diapositiva. Los siguientes son los pasos para realizar esta operación.

  • Cargue la presentación de destino utilizando la clase Presentation.
  • Cargue la presentación de origen utilizando la clase Presentation.
  • Clone las diapositivas deseadas usando el método Presentation1.Slides.AddClone(presentation2.Slides[int Index]).
  • Guarde la presentación fusionada como un nuevo archivo PPTX.

El siguiente ejemplo de código muestra cómo fusionar diapositivas particulares de presentaciones usando C#.

// Cree una instancia de un objeto de presentación que represente un archivo de presentación de destino
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // Cree una instancia de un objeto de presentación que represente un archivo de presentación de origen
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// Combinar solo diapositivas pares de la presentación 2 (la primera diapositiva está en el índice 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);
}

Presentación fusionada

presentación fusionada de powerpoint usando C#

Use el patrón de diapositivas mientras fusiona presentaciones de PowerPoint

En los dos ejemplos anteriores, fusionó las diapositivas manteniendo el diseño y la plantilla de la presentación de origen. Sin embargo, en ciertos casos, es posible que deba modificar el diseño de las diapositivas de acuerdo con la presentación de destino. En tales casos, puede usar el método sobrecargado [presentation1.Slides.AddClone(presentation2.Slides1, Presentation1.Masters[0], true)]12.

El siguiente ejemplo de código muestra cómo fusionar las diapositivas en una presentación de PowerPoint usando el patrón de diapositivas en C#.

// Cree una instancia de un objeto de presentación que represente un archivo de presentación de destino
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // Cree una instancia de un objeto de presentación que represente un archivo de presentación de origen
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// Combinar las dos primeras diapositivas solo con el patrón de diapositivas
		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);
}

Presentación fusionada

presentación combinada de powerpoint usando C#

Conclusión

En este artículo, ha aprendido a fusionar dos o varias presentaciones de PowerPoint con C#. Puede migrar los ejemplos de código C# para fusionar presentaciones usando VB.NET. En caso de que desee explorar más sobre la API de PowerPoint .NET de Aspose, puede visitar la documentación.

Ver también

Sugerencia: puede interesarle probar una aplicación de visor web para presentaciones desarrollada con las API de Aspose.