Презентации PowerPoint используются во многих сценариях, таких как встречи, презентации, обсуждения и т. д. Могут быть ситуации, когда у вас есть разные презентации, созданные разными людьми, или отдельные презентации используются на разных собраниях. Вам может понадобиться объединить эти презентации для совместного использования или документирования. Выполнение этой задачи вручную потребует много времени. Эффективным способом было бы достичь этого программно. В этой статье вы узнаете, как объединять презентации PowerPoint с помощью C++.
- C++ API для слияния презентаций PowerPoint
- Объединение презентаций PowerPoint с помощью C++
- Объединение определенных слайдов PowerPoint с помощью C++
- Используйте мастер слайдов для объединения презентаций PowerPoint
- Получить бесплатную лицензию
C++ API для слияния презентаций PowerPoint
Aspose.Slides for C++ — это библиотека C++, предоставляющая множество функций для работы с презентациями PowerPoint. API позволяет создавать, изменять и преобразовывать презентации PowerPoint без использования Microsoft PowerPoint. Кроме того, API предоставляет возможность объединять различные файлы PowerPoint. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.Slides.Cpp
Объединение презентаций PowerPoint с помощью C++
Процесс объединения двух презентаций с помощью Aspose.Slides for C++ очень прост. Для этого вы загружаете обе презентации, прокручиваете слайды исходной презентации и добавляете их копию в целевую презентацию. Ниже приведены шаги для объединения двух презентаций PowerPoint.
- Загрузите целевой файл PowerPoint с помощью класса Presentation.
- Создайте еще один экземпляр класса Presentation для представления исходного файла PowerPoint.
- Получите слайды из исходной презентации с помощью метода Presentation->get_Slides() и выполните итерацию по ним.
- Внутри цикла добавьте каждый слайд в целевую презентацию, используя Presentation->get_Slides()->AddClone (System::SharedPtr sourceSlide).
- Наконец, сохраните объединенный файл презентации с помощью метода Презентация->Сохранить (System::String name, Export::SaveFormat format).
Ниже приведен пример кода для объединения презентаций PowerPoint с помощью C++.
// Путь к каталогу документов.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// Создать экземпляр класса презентации
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
for (SharedPtr<ISlide> slide : presentation2->get_Slides())
{
// Объединение слайдов из источника в место назначения
presentation1->get_Slides()->AddClone(slide);
}
// Сохранить презентацию
presentation1->Save(outputFilePath, SaveFormat::Pptx);
На следующих изображениях показаны исходный, конечный и объединенные файлы презентации.
Презентация назначения
Презентация источника
Объединенная презентация
Объединение определенных слайдов PowerPoint с помощью C++
Могут быть ситуации, когда вас не интересует вся презентация, а вместо этого вы хотите добавить подмножество слайдов. Для этого вы добавляете необходимое условие при циклическом просмотре исходных слайдов презентации. Ниже приведены шаги для объединения выбранных слайдов PowerPoint.
- Во-первых, загрузите целевой файл PowerPoint с помощью класса Presentation.
- Создайте еще один экземпляр класса Presentation для представления исходного файла PowerPoint.
- Получите слайды из исходной презентации с помощью метода Presentation->get_Slides() и повторите их.
- Внутри цикла добавьте необходимые слайды в целевую презентацию, используя Presentation->get_Slides()->AddClone (System::SharedPtr sourceSlide).
- Наконец, сохраните объединенный файл презентации с помощью метода Презентация->Сохранить (System::String name, Export::SaveFormat format).
Ниже приведен пример кода для объединения выбранных слайдов PowerPoint с помощью C++.
// Путь к каталогу документов.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// Загрузите файлы презентации
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
for (int i = 0; i < presentation2->get_Slides()->get_Count(); i++)
{
// Объединяйте только четные слайды
if (i % 2 == 0)
{
presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(i));
}
}
// Сохранить презентацию
presentation1->Save(outputFilePath, SaveFormat::Pptx);
На следующем изображении показан объединенный файл презентации. Исходный и конечный файлы презентации такие же, как и в предыдущем примере.
Объединенная презентация
Используйте мастер слайдов для объединения презентаций PowerPoint
В предыдущих двух примерах дизайн исходной и конечной презентаций был одинаковым. На следующих изображениях показан результат объединения презентаций с разным оформлением.
Презентация назначения
Презентация источника
Объединенная презентация
Вы можете видеть на объединенном изображении презентации, что третий слайд сохранил свой первоначальный стиль во время процесса объединения. Если вы хотите, чтобы исходные слайды использовали стили презентации назначения, выполните следующие действия.
- Загрузите целевой файл PowerPoint с помощью класса Presentation.
- Создайте еще один экземпляр класса Presentation для представления исходного файла PowerPoint.
- Добавьте необходимые слайды в целевую презентацию, используя команду Presentation->get_Slides()->AddClone (System::SharedPtr sourceSlide, Система::SharedPtr destMaster, логический метод allowCloneMissingLayout).
- Наконец, сохраните объединенный файл презентации с помощью метода Презентация->Сохранить (System::String name, Export::SaveFormat format).
Ниже приведен пример кода для объединения презентаций PowerPoint с помощью образца слайдов.
// Путь к каталогу документов.
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// Загрузите файлы презентации
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
// Объединить первый слайд с помощью мастера слайдов
presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(0), presentation1->get_Masters()->idx_get(0), true);
// Сохранить презентацию
presentation1->Save(outputFilePath, SaveFormat::Pptx);
На следующем изображении показано объединенное представление, сгенерированное приведенным выше примером кода.
Объединенная презентация
Получить бесплатную лицензию
Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как объединить несколько презентаций PowerPoint с помощью C++. Вы видели, как объединять полные презентации или выбранные слайды. Кроме того, вы узнали, как использовать стиль целевой презентации для объединения презентаций. Aspose.Slides for C++ предлагает множество дополнительных функций для работы с файлами PowerPoint. Вы можете подробно изучить API, используя официальную документацию. Если у вас есть какие-либо вопросы, свяжитесь с нами на форуме.