InsertClone

InsertClone(int, ISlide)

Вставляет копию указанного слайда в указанную позицию коллекции.

public ISlide InsertClone(int index, ISlide sourceSlide)
ПараметрТипОписание
indexInt32Индекс нового слайда.
sourceSlideISlideСлайд для клонирования.

Возвращаемое значение

Вставленный слайд.

Замечания

При клонировании слайда между разными презентациями может быть также клонирован мастер слайда. Внутренний реестр используется для автоматического отслеживания клонированных мастеров, чтобы предотвратить создание нескольких клонов одного и того же мастера слайда. Ручное клонирование мастеров слайдов не будет ни предотвращено, ни зарегистрировано. Если вам нужен больший контроль над процессом клонирования, используйте InsertClone или InsertClone для клонирования слайдов и AddClone для клонирования мастеров.

Примеры

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

[C#]
// Создайте экземпляр класса Presentation, представляющего файл презентации
using (Presentation pres = new Presentation("CloneWithInSamePresentation.pptx"))
{
    // Клонируйте желаемый слайд в конец коллекции слайдов в той же презентации
    ISlideCollection slds = pres.Slides;
    // Клонируйте желаемый слайд в указанном индексе в той же презентации
    slds.InsertClone(2, pres.Slides[1]);
    // Запишите измененную презентацию на диск
    pres.Save("Aspose_CloneWithInSamePresentation_out.pptx", SaveFormat.Pptx);
}

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

[C#]
// Создайте экземпляр класса Presentation для загрузки исходного файла презентации
using (Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx"))
{
    // Создайте экземпляр класса Presentation для целевого PPTX (куда будет клонирован слайд)
    using (Presentation destPres = new Presentation())
    {
        ISlideCollection slds = destPres.Slides;
        slds.InsertClone(2, srcPres.Slides[0]);
        // Запишите целевую презентацию на диск
        destPres.Save("Aspose2_out.pptx", SaveFormat.Pptx);
    }
}

См. также


InsertClone(int, ISlide, ILayoutSlide)

Вставляет копию указанного слайда в указанную позицию коллекции.

public ISlide InsertClone(int index, ISlide sourceSlide, ILayoutSlide destLayout)
ПараметрТипОписание
indexInt32Индекс нового слайда.
sourceSlideISlideСлайд для клонирования.
destLayoutILayoutSlideМакет слайда для нового слайда.

Возвращаемое значение

Вставленный слайд.

См. также


InsertClone(int, ISlide, IMasterSlide, bool)

Вставляет копию указанного исходного слайда в указанную позицию коллекции. Соответствующий макет будет автоматически выбран из указанного мастера (соответствующий макет — это макет с тем же типом или именем, что и у макета исходного слайда). Если соответствующего макета нет, то макет исходного слайда будет клонирован (если allowCloneMissingLayout равно true) или будет выброшено исключение PptxEditException (если allowCloneMissingLayout равно false).

public ISlide InsertClone(int index, ISlide sourceSlide, IMasterSlide destMaster, 
    bool allowCloneMissingLayout)
ПараметрТипОписание
indexInt32Индекс нового слайда.
sourceSlideISlideСлайд для клонирования.
destMasterIMasterSlideМастер слайда для нового слайда.
allowCloneMissingLayoutBooleanЕсли в указанном мастере нет соответствующего макета, то макет исходного слайда будет клонирован (если allowCloneMissingLayout равно true) или будет выброшено исключение PptxEditException (если allowCloneMissingLayout равно false).

Возвращаемое значение

Вставленный слайд.

Исключения

исключениеусловие
PptxEditExceptionВыбрасывается, если в указанном мастере нет соответствующего макета, и allowCloneMissingLayout равно false.

См. также