Clonar diapositivas en PowerPoint C#

En ciertos casos, es posible que deba clonar las diapositivas en las presentaciones de PowerPoint. El proceso de clonación hace la copia de una diapositiva dentro o en otra presentación sin cambiar la diapositiva original. En este artículo, aprenderá cómo automatizar la clonación de diapositivas en presentaciones de PowerPoint. En particular, el artículo cubrirá cómo clonar diapositivas dentro de una presentación de PowerPoint o de una presentación a otra usando C#.

.NET API para clonar diapositivas en presentaciones de PowerPoint

Para clonar diapositivas en presentaciones PPTX o PPT, utilizaremos Aspose.Slides for .NET. Es una API de manipulación de presentaciones que le permite crear, modificar y convertir presentaciones de PowerPoint y OpenOffice. Puede descargar la API o instalarla usando NuGet.

PM> Install-Package Aspose.Slides.NET

Clonar diapositivas dentro de una presentación de PowerPoint en C#

Puede clonar una diapositiva en una ubicación específica o al final de la presentación de PowerPoint. Las siguientes secciones muestran cada uno de los escenarios mencionados anteriormente con ejemplos de código.

Clonar diapositiva al final de la presentación

Los siguientes son los pasos para clonar una diapositiva al final de una presentación de PowerPoint usando C#.

  1. Primero, cargue la presentación de PowerPoint usando la clase Presentation.
  2. Obtenga la referencia de la colección de diapositivas usando Presentation.Slides en un objeto ISlideCollection.
  3. Clone la diapositiva deseada usando el método ISlideCollection.AddClone(ISlide) especificando la diapositiva que se clonará como un parámetro.
  4. Finalmente, guarde la presentación usando el método Presentation.Save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo clonar una diapositiva al final de la presentación de PowerPoint.

// Cargar archivo de presentación
using (Presentation pres = new Presentation("input.pptx"))
{
    // Clonar la diapositiva deseada al final de la colección de diapositivas en la misma presentación
    ISlideCollection slds = pres.Slides;
    slds.AddClone(pres.Slides[0]);

    // Guardar presentación
    pres.Save("output.pptx", SaveFormat.Pptx);

}

Clonar diapositiva a una posición específica en la presentación

Los siguientes son los pasos para clonar una diapositiva en una posición específica en la presentación de PowerPoint usando C#.

  1. Cargue la presentación de PowerPoint utilizando la clase Presentation.
  2. Obtenga la referencia de la colección de diapositivas usando Presentation.Slides en un objeto ISlideCollection.
  3. Clone la diapositiva deseada usando el método ISlideCollection.InsertClone(Int32, ISlide) especificando el índice de destino y la diapositiva que se clonará como parámetros.
  4. Guarde la presentación usando el método Presentation.Save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo clonar una diapositiva en una posición específica en una presentación de PowerPoint.

// Cargar archivo de presentación
using (Presentation pres = new Presentation("input.pptx"))
{
    // Acceder a la colección de diapositivas en la misma presentación
    ISlideCollection slds = pres.Slides;
    
    // Clonar la diapositiva deseada al índice especificado en la misma presentación
    slds.InsertClone(2, pres.Slides[1]);

    // Guardar presentación
    pres.Save("output.pptx", SaveFormat.Pptx);

}

Clonar diapositivas en otra presentación usando C#

En esta sección, aprenderá cómo clonar una diapositiva de una presentación a otra. Las siguientes subsecciones cubrirán la clonación de una diapositiva al final o en una posición específica en la presentación de destino.

Clonar diapositiva al final de otra presentación

Los siguientes son los pasos para clonar una diapositiva al final de otra presentación usando C#.

  1. Cargue la presentación de PowerPoint de origen usando la clase Presentation.
  2. Cargue la presentación de PowerPoint de destino utilizando la clase Presentation.
  3. Obtenga la referencia de la colección de diapositivas de la presentación de destino en un objeto ISlideCollection.
  4. Clone la diapositiva deseada usando el método ISlideCollection.AddClone(ISlide) especificando la diapositiva que se clonará como un parámetro.
  5. Guarde la presentación de destino usando el método Presentation.Save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo clonar una diapositiva de una presentación a otra.

// Cargar archivo de presentación de origen
using (Presentation srcPres = new Presentation("source.pptx"))
{
    // Cargue la presentación de destino (donde se clonará la diapositiva)
    using (Presentation destPres = new Presentation("destination.pptx"))
    {
        // Clonar la diapositiva deseada desde la presentación de origen hasta el final de la colección de diapositivas en la presentación de destino
        ISlideCollection slds = destPres.Slides;
        slds.AddClone(srcPres.Slides[0]);

        // Guardar presentación
        destPres.Save("destination_out.pptx", SaveFormat.Pptx);
    }
}

Clonar diapositiva a una posición específica en otra presentación

Los siguientes son los pasos para clonar una diapositiva en una ubicación específica en otra presentación usando C#.

  1. Cargue la presentación de PowerPoint de origen usando la clase Presentation.
  2. Cargue la presentación de PowerPoint de destino utilizando la clase Presentation.
  3. Obtenga la referencia de la colección de diapositivas de la presentación de destino en un objeto ISlideCollection.
  4. Clone la diapositiva deseada usando el método ISlideCollection.InsertClone(Int32, ISlide) especificando el índice de destino y la diapositiva que se clonará como parámetros.
  5. Guarde la presentación de destino usando el método Presentation.Save(String, SaveFormat).

El siguiente ejemplo de código muestra cómo clonar una diapositiva en otra presentación de PowerPoint.

// Cargar archivo de presentación de origen
using (Presentation srcPres = new Presentation("source.pptx"))
{
    // Cargue la presentación de destino (donde se clonará la diapositiva)
    using (Presentation destPres = new Presentation("destination.pptx"))
    {
        // Clonar la diapositiva deseada de la presentación de origen a la ubicación especificada en la presentación de destino
        ISlideCollection slds = destPres.Slides;
        slds.InsertClone(2, srcPres.Slides[0]);

        // Guardar presentación
        destPres.Save("destination_out.pptx", SaveFormat.Pptx);
    }
}

Obtenga una licencia de API gratuita

Puede usar Aspose.Slides for .NET sin limitaciones de evaluación solicitando una licencia temporal.

Conclusión

En este artículo, ha aprendido a clonar diapositivas en presentaciones de PowerPoint usando C#. El artículo cubría explícitamente la clonación de diapositivas dentro de una presentación o de una presentación a otra. Además, puede visitar la documentación para explorar otras características de la API. Además, no dude en comunicarnos sus consultas a través de nuestro foro.

Ver también

Sugerencia: es posible que desee consultar Aspose FREE PowerPoint Splitter, que se utiliza para dividir las diapositivas en las presentaciones y guardarlas como archivos separados.