Объединение презентаций PowerPoint с помощью C++

Презентации PowerPoint используются во многих сценариях, таких как встречи, презентации, обсуждения и т. д. Могут быть ситуации, когда у вас есть разные презентации, созданные разными людьми, или отдельные презентации используются на разных собраниях. Вам может понадобиться объединить эти презентации для совместного использования или документирования. Выполнение этой задачи вручную потребует много времени. Эффективным способом было бы достичь этого программно. В этой статье вы узнаете, как объединять презентации PowerPoint с помощью C++.

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 с помощью 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 назначения

Изображение презентации PowerPoint назначения.

Презентация источника

Исходное изображение презентации PowerPoint.

Исходное изображение презентации PowerPoint.

Объединенная презентация

Объединенное изображение презентации PowerPoint

Объединенное изображение презентации PowerPoint.

Объединение определенных слайдов PowerPoint с помощью C++

Могут быть ситуации, когда вас не интересует вся презентация, а вместо этого вы хотите добавить подмножество слайдов. Для этого вы добавляете необходимое условие при циклическом просмотре исходных слайдов презентации. Ниже приведены шаги для объединения выбранных слайдов PowerPoint.

Ниже приведен пример кода для объединения выбранных слайдов 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 с выбранными слайдами.

Используйте мастер слайдов для объединения презентаций PowerPoint

В предыдущих двух примерах дизайн исходной и конечной презентаций был одинаковым. На следующих изображениях показан результат объединения презентаций с разным оформлением.

Презентация назначения

Изображение презентации PowerPoint назначения

Изображение презентации PowerPoint назначения.

Презентация источника

Исходное изображение презентации PowerPoint

Исходное изображение презентации PowerPoint.

Объединенная презентация

Объединенная презентация PowerPoint с добавленным первым слайдом

Объединенная презентация PowerPoint с добавленным первым слайдом.

Вы можете видеть на объединенном изображении презентации, что третий слайд сохранил свой первоначальный стиль во время процесса объединения. Если вы хотите, чтобы исходные слайды использовали стили презентации назначения, выполните следующие действия.

Ниже приведен пример кода для объединения презентаций 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);

На следующем изображении показано объединенное представление, сгенерированное приведенным выше примером кода.

Объединенная презентация

Объединенная презентация PowerPoint с добавлением первого слайда с использованием целевых стилей презентации

Объединенная презентация PowerPoint с добавлением первого слайда с использованием целевых стилей презентации.

Получить бесплатную лицензию

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как объединить несколько презентаций PowerPoint с помощью C++. Вы видели, как объединять полные презентации или выбранные слайды. Кроме того, вы узнали, как использовать стиль целевой презентации для объединения презентаций. Aspose.Slides for C++ предлагает множество дополнительных функций для работы с файлами PowerPoint. Вы можете подробно изучить API, используя официальную документацию. Если у вас есть какие-либо вопросы, свяжитесь с нами на форуме.

Смотрите также