Combinar presentaciones de PowerPoint usando C++

Las presentaciones de PowerPoint se utilizan en muchos escenarios, como reuniones, presentaciones, debates, etc. Puede haber situaciones en las que tenga diferentes presentaciones creadas por distintas personas o en las que se utilicen presentaciones individuales en varias reuniones. Es posible que deba fusionar estas presentaciones para fines de documentación o uso compartido. Hacer esta tarea manualmente llevaría mucho tiempo. La forma eficiente sería lograr esto programáticamente. En este artículo, aprenderá cómo fusionar presentaciones de PowerPoint usando C++.

API de C++ para fusionar presentaciones de PowerPoint

Aspose.Slides for C++ es una biblioteca de C++ que proporciona un montón de funciones para trabajar con presentaciones de PowerPoint. La API le permite crear, modificar y convertir presentaciones de PowerPoint sin usar Microsoft PowerPoint. Además, la API brinda la capacidad de fusionar diferentes archivos de PowerPoint. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.

PM> Install-Package Aspose.Slides.Cpp

Combinar presentaciones de PowerPoint usando C++

El proceso para fusionar dos presentaciones con Aspose.Slides for C++ es muy sencillo. Para lograr esto, carga ambas presentaciones, recorre las diapositivas de la presentación de origen y agrega su clon a la presentación de destino. Los siguientes son los pasos para fusionar dos presentaciones de PowerPoint.

El siguiente es el código de muestra para fusionar presentaciones de PowerPoint usando C++.

// La ruta al directorio de documentos.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";

// Instanciar clase de presentación
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);

for (SharedPtr<ISlide> slide : presentation2->get_Slides())
{
	// Combinar diapositivas de origen a destino 
	presentation1->get_Slides()->AddClone(slide);
}

// Guardar la presentación
presentation1->Save(outputFilePath, SaveFormat::Pptx);

Las siguientes imágenes muestran los archivos de presentación de origen, de destino y combinados.

Presentación Destino

Imagen de presentación de PowerPoint de destino

Imagen de presentación de PowerPoint de destino.

Presentación de la fuente

Fuente Imagen de presentación de PowerPoint.

Fuente Imagen de presentación de PowerPoint.

Presentación fusionada

Imagen de presentación de PowerPoint fusionada

Imagen de presentación de PowerPoint fusionada.

Combinar diapositivas específicas de PowerPoint usando C++

Puede haber situaciones en las que no esté interesado en toda la presentación, sino que desee agregar un subconjunto de diapositivas. Para lograr esto, agregue la condición necesaria mientras recorre las diapositivas de la presentación de origen. Los siguientes son los pasos para fusionar las diapositivas de PowerPoint seleccionadas.

El siguiente es el código de muestra para fusionar diapositivas de PowerPoint seleccionadas usando C++.

// La ruta al directorio de documentos.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";

// Cargar los archivos de presentación
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);

for (int i = 0; i < presentation2->get_Slides()->get_Count(); i++)
{
	// Combinar solo diapositivas pares
	if (i % 2 == 0)
	{
		presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(i));
	}
}

// Guardar la presentación
presentation1->Save(outputFilePath, SaveFormat::Pptx);

La siguiente imagen muestra el archivo de presentación combinado. Los archivos de presentación de origen y destino son los mismos que se usaron en el ejemplo anterior.

Presentación fusionada

Presentación de PowerPoint fusionada con diapositivas seleccionadas añadidas

Presentación de PowerPoint fusionada con diapositivas seleccionadas añadidas.

Utilice el patrón de diapositivas para fusionar presentaciones de PowerPoint

En los dos ejemplos anteriores, el diseño de las presentaciones de origen y destino era el mismo. Las siguientes imágenes muestran el resultado de fusionar presentaciones con diferentes diseños.

Presentación Destino

Imagen de presentación de PowerPoint de destino

Imagen de presentación de PowerPoint de destino.

Presentación de la fuente

Fuente de imagen de presentación de PowerPoint

Fuente Imagen de presentación de PowerPoint.

Presentación fusionada

Presentación de PowerPoint fusionada con la primera diapositiva agregada

Presentación de PowerPoint fusionada con la primera diapositiva agregada.

Puede ver en la imagen de la presentación fusionada que la tercera diapositiva conservó su estilo original durante el proceso de fusión. Si desea que las diapositivas de origen utilicen los estilos de presentación de destino, siga los siguientes pasos.

El siguiente es el código de muestra para fusionar presentaciones de PowerPoint usando el patrón de diapositivas.

// La ruta al directorio de documentos.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";

// Cargar los archivos de presentación
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);

// Combinar la primera diapositiva usando el patrón de diapositivas
presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(0), presentation1->get_Masters()->idx_get(0), true);

// Guardar la presentación
presentation1->Save(outputFilePath, SaveFormat::Pptx);

La siguiente imagen muestra la presentación fusionada generada por el código de ejemplo anterior.

Presentación fusionada

Presentación de PowerPoint fusionada con la primera diapositiva agregada usando los estilos de presentación de destino

Presentación de PowerPoint combinada con la primera diapositiva agregada usando los estilos de presentación de destino.

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a fusionar varias presentaciones de PowerPoint con C++. Ha visto cómo fusionar presentaciones completas o diapositivas seleccionadas. Además, ha aprendido a utilizar el estilo de la presentación de destino para combinar las presentaciones. Aspose.Slides for C++ ofrece muchas funciones adicionales para trabajar con archivos de PowerPoint. Puede explorar la API en detalle utilizando la documentación oficial. Si tiene alguna pregunta, no dude en contactarnos en el foro.

Ver también