Клонирование слайдов в PowerPoint C#

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

.NET API для клонирования слайдов в презентациях PowerPoint

Чтобы клонировать слайды в презентациях PPTX или PPT, мы будем использовать Aspose.Slides for .NET. Это API для работы с презентациями, который позволяет создавать, изменять и преобразовывать презентации PowerPoint и OpenOffice. Вы можете либо скачать API, либо установить его с помощью NuGet.

PM> Install-Package Aspose.Slides.NET

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

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

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

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

  1. Сначала загрузите презентацию PowerPoint, используя класс Presentation.
  2. Получите ссылку на коллекцию слайдов с помощью Presentation.Slides в объекте ISlideCollection.
  3. Клонируйте нужный слайд с помощью метода ISlideCollection.AddClone(ISlide), указав слайд, который нужно клонировать, в качестве параметра.
  4. Наконец, сохраните презентацию, используя метод Presentation.Save(String, SaveFormat).

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

// Загрузить файл презентации
using (Presentation pres = new Presentation("input.pptx"))
{
    // Клонировать нужный слайд в конец коллекции слайдов в той же презентации
    ISlideCollection slds = pres.Slides;
    slds.AddClone(pres.Slides[0]);

    // Сохранить презентацию
    pres.Save("output.pptx", SaveFormat.Pptx);

}

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

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

  1. Загрузите презентацию PowerPoint, используя класс Presentation.
  2. Получите ссылку на коллекцию слайдов с помощью Presentation.Slides в объекте ISlideCollection.
  3. Клонируйте желаемый слайд с помощью метода ISlideCollection.InsertClone(Int32, ISlide), указав целевой индекс и слайд для клонирования в качестве параметров.
  4. Сохраните презентацию методом Presentation.Save(String, SaveFormat).

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

// Загрузить файл презентации
using (Presentation pres = new Presentation("input.pptx"))
{
    // Доступ к коллекции слайдов в одной презентации
    ISlideCollection slds = pres.Slides;
    
    // Клонировать нужный слайд в указанный индекс в той же презентации
    slds.InsertClone(2, pres.Slides[1]);

    // Сохранить презентацию
    pres.Save("output.pptx", SaveFormat.Pptx);

}

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

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

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

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

  1. Загрузите исходную презентацию PowerPoint, используя класс Presentation.
  2. Загрузите целевую презентацию PowerPoint, используя класс Presentation.
  3. Получить ссылку на коллекцию слайдов из целевой презентации в объект ISlideCollection.
  4. Клонируйте желаемый слайд с помощью метода ISlideCollection.AddClone(ISlide), указав слайд, который нужно клонировать, в качестве параметра.
  5. Сохраните целевую презентацию, используя метод Presentation.Save(String, SaveFormat).

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

// Загрузить исходный файл презентации
using (Presentation srcPres = new Presentation("source.pptx"))
{
    // Загрузить целевую презентацию (куда нужно клонировать слайд)
    using (Presentation destPres = new Presentation("destination.pptx"))
    {
        // Клонировать нужный слайд из исходной презентации в конец коллекции слайдов целевой презентации.
        ISlideCollection slds = destPres.Slides;
        slds.AddClone(srcPres.Slides[0]);

        // Сохранить презентацию
        destPres.Save("destination_out.pptx", SaveFormat.Pptx);
    }
}

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

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

  1. Загрузите исходную презентацию PowerPoint, используя класс Presentation.
  2. Загрузите целевую презентацию PowerPoint, используя класс Presentation.
  3. Получить ссылку на коллекцию слайдов из целевой презентации в объект ISlideCollection.
  4. Клонируйте желаемый слайд с помощью метода ISlideCollection.InsertClone(Int32, ISlide), указав целевой индекс и слайд для клонирования в качестве параметров.
  5. Сохраните целевую презентацию, используя метод Presentation.Save(String, SaveFormat).

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

// Загрузить исходный файл презентации
using (Presentation srcPres = new Presentation("source.pptx"))
{
    // Загрузить целевую презентацию (куда нужно клонировать слайд)
    using (Presentation destPres = new Presentation("destination.pptx"))
    {
        // Клонировать нужный слайд из исходной презентации в указанное место в целевой презентации
        ISlideCollection slds = destPres.Slides;
        slds.InsertClone(2, srcPres.Slides[0]);

        // Сохранить презентацию
        destPres.Save("destination_out.pptx", SaveFormat.Pptx);
    }
}

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

Вы можете использовать Aspose.Slides для .NET без ограничений на пробную версию, запросив временную лицензию.

Вывод

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

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

Совет: вы можете попробовать Aspose FREE PowerPoint Splitter, используемый для разделения слайдов в презентациях и сохранения их в виде отдельных файлов.