Клонирование слайдов в презентациях PowerPoint с помощью C++

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

C++ API для клонирования слайдов PowerPoint

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

Клонирование слайда в презентации PowerPoint

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

Клонировать слайд в конец презентации PowerPoint с помощью C++

Ниже приведены шаги для клонирования слайда в конец презентации PowerPoint.

В следующем примере кода показано, как клонировать слайд в конец презентации PowerPoint с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\CloneSlideAtEnd_out.pptx";

// Загрузить презентацию
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Получить слайды
auto slides = presentation->get_Slides();

// Добавьте клон слайда
slides->AddClone(presentation->get_Slides()->idx_get(0));

// Сохранить презентацию
presentation->Save(outputFilePath, SaveFormat::Pptx);

Клонировать слайд в определенную позицию с помощью C++

Ниже приведены шаги для клонирования слайда в определенную позицию с помощью C++.

В следующем примере кода показано, как клонировать слайд в определенную позицию с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\CloneSlideAtSpecificIndex_out.pptx";

// Загрузить презентацию
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Получить слайды
auto slides = presentation->get_Slides();

// Вставьте клон в индекс 0
slides->InsertClone(0, presentation->get_Slides()->idx_get(1));

// Сохранить презентацию
presentation->Save(outputFilePath, SaveFormat::Pptx);

Клонирование слайда в другую презентацию PowerPoint

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

Клонировать слайд в конец другой презентации PowerPoint с помощью C++

Ниже приведены шаги для клонирования слайда в конец другой презентации PowerPoint.

В следующем примере кода показано, как клонировать слайд в конец другой презентации PowerPoint с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String destinationFilePath = u"SourceDirectory\\Slides\\SamplePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneSlideToOtherPresentationAtEnd_out.pptx";

// Загрузите исходную презентацию
auto sourcePresentation = System::MakeObject<Presentation>(sourceFilePath);

// Загрузите целевую презентацию
auto destinationPresentation = System::MakeObject<Presentation>(destinationFilePath);

// Получите слайды целевой презентации
auto destinationSlides = destinationPresentation->get_Slides();

// Добавить слайд из исходной презентации в конец целевой презентации
destinationSlides->AddClone(sourcePresentation->get_Slides()->idx_get(0));

// Сохраните целевую презентацию
destinationPresentation->Save(outputFilePath, SaveFormat::Pptx);

Клонировать слайд в определенную позицию в другой презентации PowerPoint с помощью C++

Ниже приведены шаги для клонирования слайда в определенную позицию в другой презентации PowerPoint.

В следующем примере кода показано, как клонировать слайд в определенную позицию в другой презентации PowerPoint с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String destinationFilePath = u"SourceDirectory\\Slides\\SamplePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneSlideToOtherPresentationAtSpecificIndex_out.pptx";

// Загрузите исходную презентацию
auto sourcePresentation = System::MakeObject<Presentation>(sourceFilePath);

// Загрузите целевую презентацию
auto destinationPresentation = System::MakeObject<Presentation>(destinationFilePath);

// Получите слайды целевой презентации
auto destinationSlides = destinationPresentation->get_Slides();

// Вставить слайд из исходной презентации во второй индекс целевой презентации.
destinationSlides->InsertClone(2, sourcePresentation->get_Slides()->idx_get(0));

// Сохраните целевую презентацию
destinationPresentation->Save(outputFilePath, SaveFormat::Pptx);

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

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

Вывод

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

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