Combinación de Presentaciones

Fusión de Presentaciones

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

Qué Se Puede Fusionar

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 conserva 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 (del ISlideCollection interface). 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 a un método AddClone desde la presentación a la que deseas fusionar las diapositivas.

El método AddClone devuelve 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 por que las presentaciones fuente se vean afectadas.

Fusionar Presentaciones

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

Este código Java te muestra cómo fusionar presentaciones:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Fusionar Presentaciones con Master 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 master 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 Java demuestra la operación descrita:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres2.getMasters().get_Item(0), true);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

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

Fusionar Diapositivas Específicas de Presentaciones

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

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Fusionar Presentaciones con Diseño de Diapositiva

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

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Fusionar Presentaciones con Diferentes Tamaños de Diapositivas

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 ejemplo demuestra la operación descrita:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        pres2.getSlideSize().setSize((float)pres1.getSlideSize().getSize().getWidth(), (float)pres1.getSlideSize().getSize().getHeight(), SlideSizeScaleType.EnsureFit);

        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Fusionar Diapositivas a Sección de Presentación

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

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres1.getSections().get_Item(0));
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

La diapositiva se añade al final de la sección.