Combinar Presentación - API de PowerPoint de C++
Consejo
Es posible que desees consultar la aplicación Merger gratuita de Aspose aquí. Permite a las personas combinar presentaciones de PowerPoint en el mismo formato (PPT a PPT, PPTX a PPTX, etc.) y fusionar presentaciones en diferentes formatos (PPT a PPTX, PPTX a ODP, etc.).
Fusión de Presentaciones
Cuando combinas una presentación con otra, estás efectivamente combinando sus diapositivas en una sola presentación para obtener un solo archivo.
Información
La mayoría de los programas de presentación (PowerPoint u OpenOffice) carecen de funciones que permitan a los usuarios combinar presentaciones de esta manera.
Aspose.Slides para C++, sin embargo, te permite combinar presentaciones de diferentes maneras. Puedes fusionar presentaciones con todas sus formas, estilos, textos, formatos, comentarios, animaciones, etc., sin tener que preocuparte por la pérdida de calidad o datos.
Vea también
Qué Se Puede Combinar
Con Aspose.Slides, puedes combinar
- 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 formato (PPT a PPT, PPTX a PPTX, etc.) y en diferentes formatos (PPT a PPTX, PPTX a ODP, etc.) entre sí.
Nota
Además de presentaciones, Aspose.Slides te permite fusionar otros archivos:
- Imágenes, como JPG a JPG o PNG a PNG
- Documentos, como PDF a PDF o HTML a HTML
- Y dos archivos diferentes como imagen a PDF o JPG a PDF o TIFF a PDF.
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 un método AddClone
desde la presentación a la que deseas fusionar diapositivas.
El método AddClone
devuelve un objeto ISlide
, que es un clon de la diapositiva de origen. Las diapositivas en una presentación de salida son simplemente una copia de las diapositivas de origen. Por lo tanto, puedes realizar cambios en las diapositivas resultantes (por ejemplo, aplicar estilos u 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 te permite combinar diapositivas mientras las diapositivas mantienen sus diseños y estilos (parámetros por defecto).
Este código C++ te muestra cómo fusionar presentaciones:
auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (const auto& slide : pres2->get_Slides())
{
pres1->get_Slides()->AddClone(slide);
}
pres1->Save(u"combined.pptx", SaveFormat::Pptx);
Fusionar Presentaciones con Maestro de Diapositivas
Aspose.Slides proporciona el método AddClone (ISlide, IMasterSlide, bool) 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:
auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (const auto& slide : pres2->get_Slides())
{
pres1->get_Slides()->AddClone(slide, pres2->get_Masters()->idx_get(0), true);
}
pres1->Save(u"combined.pptx", SaveFormat::Pptx);
Nota
El diseño de la diapositiva para el maestro de diapositivas se determina automáticamente. Cuando no se puede determinar un diseño apropiado, si el parámetro booleanoallowCloneMissingLayout
del método AddClone
está establecido en verdadero, se utiliza el diseño de la diapositiva de origen. De lo contrario, se lanzará una excepción PptxEditException.
Si deseas que las diapositivas en la presentación de salida tengan un diseño diferente, usa el método AddClone (ISlide, ILayoutSlide) en su lugar al fusionar.
Fusionar Diapositivas Específicas de Presentaciones
Este código C++ te muestra cómo seleccionar y combinar diapositivas específicas de diferentes presentaciones para obtener una sola presentación de salida:
auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (const auto& slide : pres2->get_Slides())
{
pres1->get_Slides()->AddClone(slide, pres2->get_LayoutSlides()->idx_get(0));
}
pres1->Save(u"combined.pptx", SaveFormat::Pptx);
Fusionar Presentaciones Con Diseño de Diapositiva
Este código C++ te muestra cómo combinar diapositivas de presentaciones mientras aplicas tu diseño de diapositiva preferido a ellas para obtener una presentación de salida:
auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (const auto& slide : pres2->get_Slides())
{
pres1->get_Slides()->AddClone(slide, pres2->get_LayoutSlides()->idx_get(0));
}
pres1->Save(u"combined.pptx", SaveFormat::Pptx);
Fusionar Presentaciones Con Diferentes Tamaños de Diapositivas
Nota
No puedes 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 with el tamaño de la otra presentación.
Este código de muestra demuestra la operación descrita:
auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres1Size = pres1->get_SlideSize()->get_Size();
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
pres2->get_SlideSize()->SetSize(pres1Size.get_Width(), pres1Size.get_Height(), SlideSizeScaleType::EnsureFit);
for (const auto& slide : pres2->get_Slides())
{
pres1->get_Slides()->AddClone(slide);
}
pres1->Save(u"combined.pptx", SaveFormat::Pptx);
Fusionar Diapositivas a Sección de Presentación
Este código C++ te muestra cómo fusionar una diapositiva específica a una sección en una presentación:
auto pres1 = System::MakeObject<Presentation>(u"pres1.pptx");
auto pres2 = System::MakeObject<Presentation>(u"pres2.pptx");
for (int32_t index = 0; index < pres2->get_Slides()->get_Count(); index++)
{
auto slide = pres2->get_Slides()->idx_get(index);
pres1->get_Slides()->AddClone(slide, pres1->get_Sections()->idx_get(0));
}
pres1->Save(u"combined.pptx", SaveFormat::Pptx);
La diapositiva se agrega al final de la sección.