Объединение файлов PowerPoint в Python

При работе с автоматизацией PowerPoint в Python вам может понадобиться объединить содержимое нескольких презентаций. Это может потребоваться, когда презентация создается несколькими людьми по частям, которые в конечном итоге необходимо объединить. Чтобы автоматизировать это объединение, в этой статье показано, как программно объединить PowerPoint PPT или PPTX в Python.

Библиотека Python для слияния PowerPoint PPT

Aspose.Slides for Python через .NET — это мощная библиотека Python для создания файлов презентаций и управления ими. Кроме того, он предоставляет гибкие способы объединения нескольких презентаций PPT/PPTX. Мы будем использовать эту библиотеку для объединения презентаций в этой статье. Вы можете установить его из PyPI с помощью следующей команды pip.

> pip install aspose.slides

Объединение презентаций PowerPoint в Python

Чтобы объединить презентации PPT, вам нужно клонировать слайды из одной презентации в другую. Ниже приведены шаги для объединения двух файлов PPT в Python.

  • Создайте объект класса Presentation для загрузки первой презентации.
  • Создайте еще один объект Presentation, чтобы загрузить вторую презентацию.
  • Запустите цикл для повторения слайдов во второй презентации.
  • В каждой итерации объединяйте слайд с первой презентацией, используя метод Presentation.slides.addclone(ISlide).
  • Наконец, сохраните объединенную презентацию с помощью метода Presentation.save(String, SaveFormat).

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

import aspose.slides as slides

# open first PPT
with slides.Presentation("presentation1.pptx") as pres1:
  
    # open second PPT
    with slides.Presentation("Presentation2.pptx") as pres2:
        
        # loop through slides
        for slide in pres2.slides:
          
            # clone slide
            pres1.slides.add_clone(slide)
        
        # save merged PPT
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Первая презентация

целевая презентация powerpoint

Вторая презентация

исходная презентация PowerPoint для слияния

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

объединенный powerpoint ppt в python

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

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

  • Создайте объект класса Presentation для загрузки первого PPT.
  • Создайте еще один объект Presentation для загрузки второго PPT.
  • Измените размер слайдов во втором PPT, используя метод Presentation.slidesize.setsize(int, int, SlideSizeScaleType).
  • Запустите цикл для повторения слайдов во втором PPT.
  • В каждой итерации объединяйте слайд с первым PPT, используя метод Presentation.slides.addclone(ISlide).
  • Наконец, сохраните объединенный PPT, используя метод Presentation.save(String, SaveFormat).

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

import aspose.slides as slides

# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
  
    # open second PPT
    with slides.Presentation("Presentation2.pptx") as pres2:
        
        # change size of slides
        pres2.slide_size.set_size(pres1.slide_size.size.width, pres1.slide_size.size.height, slides.SlideSizeScaleType.ENSURE_FIT)
        
        # loop through slides
        for slide in pres2.slides:
          
            # clone slide
            pres1.slides.add_clone(slide)
        
        # save merged PPT
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Объединение слайдов PPT в определенный раздел в Python

Вы также можете объединить слайды PPT в определенный раздел целевой презентации. Для этого используется метод Presentation.slides.addclone(ISlide, ISection). В следующем примере кода показано, как объединить слайды из первой презентации в определенный раздел второй презентации.

import aspose.slides as slides

# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
  
    # open second PPT
    with slides.Presentation("Presentation2.pptx") as pres2:

        # loop through slides
        for slide in pres2.slides:
          
            # clone slide
            pres1.slides.add_clone(slide, pres1.sections[0])
        
        # save merged PPT
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

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

В предыдущих разделах мы объединили слайды, сохранив дизайн и шаблон второго PPT. Однако нам может понадобиться использовать макет первой (или целевой) презентации для клонированных слайдов. В таких случаях используется перегруженный метод Presentation.slides.addclone(ISlide, Presentation.masters[int], allowclonemissinglayout = True), где второй параметр определяет образец слайда.

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

import aspose.slides as slides

# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
  
    # open second PPT
    with slides.Presentation("Presentation2.pptx") as pres2:

        # loop through slides
        for slide in pres2.slides:
          
            # clone slide
            pres1.slides.add_clone(slide, pres1.masters[0], allow_clone_missing_layout = True)
        
        # save merged PPT
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

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

комбинированная презентация Powerpoint на Python

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

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

Вывод

В этой статье вы узнали, как объединять презентации PowerPoint PPT/PPTX в Python. Мы рассмотрели различные сценарии объединения нескольких презентаций PowerPoint с помощью примеров кода. Вы можете просто установить библиотеку и использовать предоставленные образцы кода в своих приложениях. Если вы хотите узнать больше об Aspose.Slides для Python, вы можете посетить документацию. Также вы можете задать свои вопросы на нашем форуме.

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

Информация: Aspose free онлайн PowerPoint Merger — это живая реализация процесса слияния презентаций как услуги.