Объединение Презентаций

Объединение Презентаций

Когда вы объединяете одну презентацию с другой, вы фактически объединяете их слайды в одной презентации, чтобы получить один файл.

Что Можно Объединять

С помощью Aspose.Slides вы можете объединить

  • целые презентации. Все слайды из презентаций окажутся в одной презентации
  • конкретные слайды. Выбранные слайды окажутся в одной презентации
  • презентации в одном формате (PPT в PPT, PPTX в PPTX и т. д.) и в разных форматах (PPT в PPTX, PPTX в ODP и т. д.) друг с другом.

Опции Объединения

Вы можете применить опции, которые определяют, будет ли

  • каждый слайд в выходной презентации сохранять уникальный стиль
  • используется ли один и тот же стиль для всех слайдов в выходной презентации.

Для объединения презентаций Aspose.Slides предоставляет методы AddClone (из интерфейса ISlideCollection). Существуют несколько реализаций методов AddClone, которые определяют параметры процесса объединения презентаций. Каждый объект презентации имеет коллекцию Slides, поэтому вы можете вызвать метод AddClone из презентации, в которую хотите объединить слайды.

Метод AddClone возвращает объект ISlide, который является клоном исходного слайда. Слайды в выходной презентации просто являются копией слайдов из исходного. Поэтому вы можете вносить изменения в результирующие слайды (например, применять стили или параметры форматирования или макеты) без опасений, что исходные презентации будут затронуты.

Объединение Презентаций

Aspose.Slides предоставляет метод AddClone(ISlide) , который позволяет вам объединять слайды, при этом слайды сохраняют свои макеты и стили (параметры по умолчанию).

Этот код на Java показывает, как объединить презентации:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Объединение Презентаций с Использованием Мастера Слайдов

Aspose.Slides предоставляет метод AddClone(ISlide, IMasterSlide, boolean) , который позволяет вам объединять слайды, применяя шаблон мастер-слайда презентации. Таким образом, если необходимо, вы можете изменить стиль для слайдов в выходной презентации.

Этот код на Java демонстрирует описываемую операцию:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres2.getMasters().get_Item(0), true);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Если вы хотите, чтобы слайды в выходной презентации имели другой макет слайдов, используйте вместо этого метод AddClone(ISlide, ILayoutSlide) при объединении.

Объединение Конкретных Слайдов Из Презентаций

Этот код на Java показывает, как выбрать и объединить определенные слайды из разных презентаций, чтобы получить одну выходную презентацию:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Объединение Презентаций С Макетом Слайда

Этот код на Java показывает вам, как объединить слайды из презентаций, применяя предпочтительный макет слайда, чтобы получить одну выходную презентацию:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Объединение Презентаций С Разными Размером Слайдов

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

Этот пример кода демонстрирует описываемую операцию:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        pres2.getSlideSize().setSize((float)pres1.getSlideSize().getSize().getWidth(), (float)pres1.getSlideSize().getSize().getHeight(), SlideSizeScaleType.EnsureFit);

        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Объединение Слайдов В Секцию Презентации

Этот код на Java показывает вам, как объединить конкретный слайд в секцию в презентации:

Presentation pres1 = new Presentation("pres1.pptx");
try {
    Presentation pres2 = new Presentation("pres2.pptx");
    try {
        for(ISlide slide : pres2.getSlides())
        {
            pres1.getSlides().addClone(slide, pres1.getSections().get_Item(0));
        }
    } finally {
        if (pres2 != null) pres2.dispose();
    }
    pres1.save("combined.pptx", SaveFormat.Pptx);
} finally {
    if (pres1 != null) pres1.dispose();
}

Слайд добавляется в конец секции.