Combina Presentaciones de PowerPoint PPT, PPTX usando C#

Fusión de Presentaciones

Cuando fusionas una presentación con otra, estás combinando efectivamente sus diapositivas en una sola presentación para obtener un archivo.

Qué Puede Ser Fusionado

Con Aspose.Slides, puedes fusionar

  • presentaciones completas. Todas las diapositivas de las presentaciones terminan en una presentación
  • diapositivas específicas. Las diapositivas seleccionadas terminan en una presentación
  • presentaciones en un formato (PPT a PPT, PPTX a PPTX, etc.) y en diferentes formatos (PPT a PPTX, PPTX a ODP, etc.) entre sí.

Opciones de Fusión

Puedes aplicar opciones que determinan si

  • cada diapositiva en la presentación de salida mantiene un estilo único
  • se utiliza un estilo específico para todas las diapositivas en la presentación de salida.

Para fusionar presentaciones, Aspose.Slides proporciona métodos AddClone (de la interfaz ISlideCollection). Hay varias implementaciones de los métodos AddClone que definen los parámetros del proceso de fusión de presentaciones. Cada objeto Presentación tiene una colección Slides, por lo que puedes llamar al método AddClone desde la presentación a la que deseas fusionar diapositivas.

El método AddClone retorna un objeto ISlide, que es un clon de la diapositiva fuente. Las diapositivas en una presentación de salida son simplemente una copia de las diapositivas de la fuente. Por lo tanto, puedes realizar cambios en las diapositivas resultantes (por ejemplo, aplicar estilos o opciones de formato o diseños) sin preocuparte de que las presentaciones de origen se vean afectadas.

Combinar Presentaciones

Aspose.Slides proporciona el método AddClone (ISlide) que te permite combinar diapositivas mientras las diapositivas mantienen sus diseños y estilos (parámetros predeterminados).

Este código en C# te muestra cómo fusionar presentaciones:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Fusionar Presentaciones con Maestro de Diapositivas

Aspose.Slides proporciona el método AddClone (ISlide, IMasterSlide, Boolean) que te permite combinar diapositivas mientras aplicas una plantilla de presentación de maestro de diapositivas. De esta manera, si es necesario, puedes cambiar el estilo de las diapositivas en la presentación de salida.

Este código en C# demuestra la operación descrita:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.Masters[0], allowCloneMissingLayout: true);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Si deseas que las diapositivas en la presentación de salida tengan un diseño de diapositiva diferente, utiliza el método AddClone (ISlide, ILayoutSlide) en su lugar al fusionar.

Fusionar Diapositivas Específicas de Presentaciones

Este código en C# te muestra cómo seleccionar y combinar diapositivas específicas de diferentes presentaciones para obtener una presentación de salida:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Fusionar Presentaciones Con Diseño de Diapositivas

Este código en C# te muestra cómo combinar diapositivas de presentaciones mientras aplicas tu diseño de diapositivas preferido para obtener una presentación de salida:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Fusionar Presentaciones Con Tamaños de Diapositivas Diferentes

Para fusionar 2 presentaciones con diferentes tamaños de diapositivas, debes redimensionar una de las presentaciones para que su tamaño coincida con el de la otra presentación.

Este código de muestra demuestra la operación descrita:

using (Presentation pres1 = new Presentation("pres1.pptx"),
   pres2 = new Presentation("pres2.pptx"))
{
   pres2.SlideSize.SetSize(pres1.SlideSize.Size.Width, pres1.SlideSize.Size.Height, SlideSizeScaleType.EnsureFit);
 
   foreach (ISlide slide in pres2.Slides)
   {
       pres1.Slides.AddClone(slide);
   }
 
   pres1.Save("combined.pptx", SaveFormat.Pptx);
}

Fusionar Diapositivas a la Sección de Presentación

Este código en C# te muestra cómo fusionar una diapositiva específica a una sección en una presentación:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    for (var index = 0; index < pres2.Slides.Count; index++)
    {
        ISlide slide = pres2.Slides[index];
        pres1.Slides.AddClone(slide, pres1.Sections[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

La diapositiva se agrega al final de la sección.