Fusionar presentación

Fusión de Presentaciones

Al combinar una presentación con otra, efectivamente unes sus diapositivas en una sola presentación para obtener un archivo único.

Qué se Puede Fusionar

Con Aspose.Slides, puedes fusionar

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

Opciones de Fusión

Puedes aplicar opciones que determinen 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 los métodos addClone (de la clase SlideCollection). Existen varias implementaciones de los métodos addClone que definen los parámetros del proceso de fusión de presentaciones. Cada objeto Presentation tiene una colección Slides , por lo que puedes llamar a un método addClone desde la presentación a la que deseas fusionar diapositivas.

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

Fusionar Presentaciones

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

Este código JavaScript muestra cómo fusionar presentaciones:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Fusionar Presentaciones con Patrón de Diapositiva Maestra

Aspose.Slides proporciona el método AddClone(ISlide, IMasterSlide, boolean) que permite combinar diapositivas aplicando una plantilla de patrón de diapositiva maestra. De este modo, si es necesario, puedes cambiar el estilo de las diapositivas en la presentación de salida.

Este código JavaScript demuestra la operación descrita:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres2.getMasters().get_Item(0), true);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.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 el método addClone(ISlide, ILayoutSlide) en su lugar al fusionar.

Fusionar Diapositivas Específicas de Presentaciones

Fusionar diapositivas específicas de varias presentaciones es útil para crear paquetes de diapositivas personalizados. Aspose.Slides for Node.js via Java te permite seleccionar e importar solo las diapositivas que necesitas. La API conserva el formato, el diseño y el estilo de las diapositivas originales.

El siguiente código JavaScript crea una nueva presentación, agrega diapositivas de título de dos presentaciones diferentes y guarda el resultado en un archivo:

function getTitleSlide(presentation) {
  for (let i = 0; i < presentation.getSlides().size(); i++) {
    let slide = presentation.getSlides().get_Item(i);
    if (slide.getLayoutSlide().getLayoutType() == aspose.slides.SlideLayoutType.Title) {
      return slide;
    }
  }
  return null;
}
let presentation = new aspose.slides.Presentation();
let presentation1 = new aspose.slides.Presentation("presentation1.pptx");
let presentation2 = new aspose.slides.Presentation("presentation2.pptx");
try {
    presentation.getSlides().removeAt(0);
    
    let slide1 = getTitleSlide(presentation1);

    if (slide1 != null)
        presentation.getSlides().addClone(slide1);

    let slide2 = getTitleSlide(presentation2);

    if (slide2 != null)
        presentation.getSlides().addClone(slide2);

    presentation.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation2.dispose();
    presentation1.dispose();
    presentation.dispose();
}

Fusionar Presentaciones con Diseño de Diapositiva

Este código JavaScript muestra cómo combinar diapositivas de presentaciones aplicando tu diseño de diapositiva preferido para obtener una única presentación de salida:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Fusionar Presentaciones con Diferentes Tamaños de Diapositiva

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

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

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        pres2.getSlideSize().setSize(pres1.getSlideSize().getSize().getWidth(), pres1.getSlideSize().getSize().getHeight(), aspose.slides.SlideSizeScaleType.EnsureFit);
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Fusionar Diapositivas a una Sección de Presentación

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

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres1.getSections().get_Item(0));
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

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

Preguntas Frecuentes

¿Se conservan las notas del orador durante la fusión?

Sí. Al clonar diapositivas, Aspose.Slides transfiere todos los elementos de la diapositiva, incluidas notas, formato y animaciones.

¿Se transfieren los comentarios y sus autores?

Los comentarios, como parte del contenido de la diapositiva, se copian con la diapositiva. Las etiquetas de autor de los comentarios se conservan como objetos de comentario en la presentación resultante.

¿Qué ocurre si la presentación origen está protegida con contraseña?

Debe abrirse con la contraseña mediante LoadOptions.setPassword; después de cargarla, esas diapositivas pueden clonarse de forma segura en un archivo de destino sin protección (o también protegido).

¿Qué tan segura es la operación de fusión en entornos multihilo?

No utilice la misma instancia de Presentation desde múltiples hilos. La regla recomendada es “un documento — un hilo”; diferentes archivos pueden procesarse en paralelo en hilos independientes.

Ver También

Aspose ofrece un Creador de Collage GRATUITO en línea. Con este servicio en línea, puedes fusionar JPG a JPG o imágenes PNG a PNG, crear rejillas de fotos y más.

Prueba el MERGER GRATUITO en línea de Aspose. Permite fusionar presentaciones PowerPoint en el mismo formato (p. ej., PPT a PPT, PPTX a PPTX) o entre formatos diferentes (p. ej., PPT a PPTX, PPTX a ODP).

Aspose FREE Online Merger