Fusionner une Présentation - API C++ PowerPoint

Fusionner des Présentations

Lorsque vous fusionnez une présentation à une autre, vous combinez effectivement leurs diapositives dans une seule présentation pour obtenir un fichier.

Ce Qui Peut Être Fusionné

Avec Aspose.Slides, vous pouvez fusionner

  • des présentations entières. Toutes les diapositives des présentations se retrouvent dans une seule présentation
  • des diapositives spécifiques. Les diapositives sélectionnées se retrouvent dans une seule présentation
  • des présentations dans un même format (PPT à PPT, PPTX à PPTX, etc.) et dans différents formats (PPT à PPTX, PPTX à ODP, etc.) entre elles.

Options de Fusion

Vous pouvez appliquer des options qui déterminent si

  • chaque diapositive de la présentation de sortie conserve un style unique
  • un style spécifique est utilisé pour toutes les diapositives de la présentation de sortie.

Pour fusionner des présentations, Aspose.Slides fournit des méthodes AddClone (de l’interface ISlideCollection). Il existe plusieurs implémentations des méthodes AddClone qui définissent les paramètres du processus de fusion de présentations. Chaque objet Présentation a une collection Slides, vous pouvez donc appeler une méthode AddClone depuis la présentation à laquelle vous souhaitez fusionner des diapositives.

La méthode AddClone retourne un objet ISlide, qui est un clone de la diapositive source. Les diapositives dans une présentation de sortie sont simplement une copie des diapositives de la source. Par conséquent, vous pouvez apporter des modifications aux diapositives résultantes (par exemple, appliquer des styles ou des options de mise en forme ou de mise en page) sans vous soucier que les présentations source soient affectées.

Fusionner des Présentations

Aspose.Slides fournit la méthode AddClone (ISlide) qui vous permet de combiner des diapositives tout en conservant leurs mises en page et styles (paramètres par défaut).

Ce code C++ vous montre comment fusionner des présentations :

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);

Fusionner des Présentations avec le Maître de Diapositives

Aspose.Slides fournit la méthode AddClone (ISlide, IMasterSlide, bool) qui vous permet de combiner des diapositives tout en appliquant un modèle de présentation maître de diapositives. De cette façon, si nécessaire, vous pouvez changer le style des diapositives dans la présentation de sortie.

Ce code en C++ démontre l’opération décrite :

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);

Si vous souhaitez que les diapositives de la présentation de sortie aient une mise en page de diapositive différente, utilisez la méthode AddClone (ISlide, ILayoutSlide) à la place lors de la fusion.

Fusionner des Diapositives Spécifiques de Présentations

Ce code C++ vous montre comment sélectionner et combiner des diapositives spécifiques de différentes présentations pour obtenir une seule présentation de sortie :

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);

Fusionner des Présentations Avec la Mise en Page des Diapositives

Ce code C++ vous montre comment combiner des diapositives de présentations tout en leur appliquant votre mise en page préférée pour obtenir une seule présentation de sortie :

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);

Fusionner des Présentations Avec Différentes Tailles de Diapositive

Pour fusionner 2 présentations avec des tailles de diapositive différentes, vous devez redimensionner l’une des présentations pour que sa taille corresponde à celle de l’autre présentation.

Ce code d’exemple démontre l’opération décrite :

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);

Fusionner des Diapositives dans une Section de Présentation

Ce code C++ vous montre comment fusionner une diapositive spécifique dans une section d’une présentation :

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 diapositive est ajoutée à la fin de la section.