Если вы хотите узнать, как создавать, читать, настраивать, объединять, клонировать или конвертировать презентации PowerPoint и OpenOffice с помощью Python без необходимости использования стороннего программного обеспечения, мы поможем вам.
Aspose.Slides for Python via .NET — это библиотека классов для работы с презентациями, предлагающая множество ключевых возможностей, таких как создание презентаций с нуля, конвертация презентаций, управление текстом, фигурами, таблицами, анимациями, предварительный просмотр слайдов, экспорт слайдов в PDF, TIFF, XPS, HTML и многое другое. Aspose.Slides for Python via .NET предоставляет демонстрационные примеры и готовый код, чтобы вы лучше поняли наш API.
Наш API предлагает следующие возможности:
- Создание или клонирование слайдов из шаблонов
- Работа с таблицами PowerPoint
- Удаление или добавление защиты фигур
- Добавление диаграмм MS Excel в виде OleObject‑ов
- Генерация презентаций из базы данных
- Защита презентаций
- Создание и изменение диаграмм
- Экспорт презентаций в PDF, XPS, HTML, JPEG, PNG, SVG и многие другие форматы
Поддерживаемые форматы файлов:
Aspose.Slides for Python via .NET может как загружать, так и сохранять следующие форматы файлов: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM, ODP, OTP, а также сохранять в форматах: TIFF, EMF, PDF, XPS, JPEG, PNG, GIFF, BMP, SVG, SWF, HTML, XAML.
Ниже мы покажем, как создать, открыть, объединить и сохранить презентацию, а также предоставим примеры кода.

Как создать презентацию PowerPoint (PPTX) с помощью Python
Чтобы добавить новую линию на слайд с помощью Aspose.Slides for Python via .NET, выполните следующие шаги:
- Создайте экземпляр класса Presentation
- Получите ссылку на слайд, используя его индекс
- С помощью метода
add_auto_shape, доступного через объект shapes, добавьте AutoShape типа LINE
- Сохраните презентацию в файл PPTX
Используя эти шаги, мы добавили линию на первый слайд презентации:
import aspose.slides as slides
# Создаём объект Presentation, представляющий файл презентации
with slides.Presentation() as presentation:
slide = presentation.slides[0]
slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
presentation.save("NewPresentation_out.pptx", slides.export.SaveFormat.PPTX)
Как открыть презентацию с помощью Python
С помощью Aspose.Slides for Python via .NET разработчики могут получать доступ к существующим презентациям PowerPoint и изменять их.
Наш API предоставляет класс Presentation для открытия уже существующей презентации, и мы можем использовать один из подходящих конструкторов этого класса, чтобы создать объект на основе готового файла PowerPoint. В примере ниже показано, как открыть презентацию, вывести общее количество слайдов на экран.
import aspose.slides as slides
# Открываем файл презентации, передавая путь к файлу в конструктор класса Presentation
with slides.Presentation("pres.pptx") as pres:
# Выводим общее количество слайдов в презентации
print(pres.slides.length)
Если у вас очень большие презентации (например, размер 3 ГБ), их можно открыть следующим образом:
import aspose.slides as slides
import os
loadOptions = slides.LoadOptions()
loadOptions.blob_management_options = slides.BlobManagementOptions()
loadOptions.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED
with slides.Presentation("pres.pptx", loadOptions) as pres:
# Огромная презентация загружена и готова к использованию, но потребление памяти остаётся низким.
# Вносим любые изменения в презентацию.
pres.slides[0].name = "Очень большая презентация"
# Презентация будет сохранена в другой файл, потребление памяти всё ещё низкое во время сохранения.
pres.save("veryLargePresentation-copy.pptx", slides.export.SaveFormat.PPTX)
# Нельзя делать так! Будет выброшено исключение IO, потому что файл заблокирован, пока объект pres не будет уничтожен
os.remove("pres.pptx")
# Здесь всё в порядке, исходный файл больше не заблокирован объектом pres
os.remove("pres.pptx")
Если вы создаёте презентацию, содержащую крупные объекты (очень большие изображения, видео, аудио и т.п.), используйте Blob‑функцию
, чтобы снизить потребление памяти.
Как объединять презентации PowerPoint с помощью Python
Aspose.Slides for Python via .NET позволяет объединять презентации различными способами. Вы можете объединять презентации вместе с их фигурами, форматированием, текстом, стилями, комментариями и т.д., не теряя качества и данных. С помощью нашего API можно объединять целые презентации, отдельные слайды и презентации в одном формате (PPTX → PPTX, PPT → PPT и т.п.) или в разных форматах (PPTX → PPT, PPTX → ODP и т.д.).
Для объединения презентаций можно использовать методы add_clone из интерфейса ISlideCollection
. Объект Presentation содержит коллекцию слайдов, и вы можете вызвать метод add_clone у выбранной презентации, после чего слайды будут объединены.
Объединение презентаций
С помощью метода AddClone (ISlide)
вы можете комбинировать слайды, не опасаясь потери их внешнего вида и стилей (параметры по умолчанию). Ниже показано, как объединить презентации:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres1:
with slides.Presentation("Presentation1.pptx") as pres2:
for slide in pres2.slides:
pres1.slides.add_clone(slide)
pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)
Объединение презентаций с изменением стиля слайдов
Если необходимо изменить стиль слайдов в результирующей презентации при их объединении, метод add_clone (ISlide, IMasterSlide, Boolean)
позволяет это сделать.
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres1:
with slides.Presentation("Presentation1.pptx") as pres2:
for slide in pres2.slides:
pres1.slides.add_clone(slide, pres1.masters[0], allow_clone_missing_layout = True)
pres1.save("combined_with_master.pptx", slides.export.SaveFormat.PPTX)
Объединение конкретных слайдов
С помощью кода ниже можно выбрать и объединить определённые слайды из разных презентаций, получив одну итоговую презентацию:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres1:
with slides.Presentation("Presentation1.pptx") as pres2:
for slide in pres2.slides:
pres1.slides.add_clone(slide, pres1.layout_slides[0])
pres1.save("combined_with_layout.pptx", slides.export.SaveFormat.PPTX)
Больше способов объединения презентаций вы найдёте в разделе Merge Presentation
документации.
Как сохранять презентации PowerPoint с помощью Python
С помощью Aspose.Slides for Python via .NET вы можете сохранять презентацию в файл или в поток. Ниже представлены примеры кода для обоих вариантов.
Сохранение презентации в файл
Для сохранения презентации в файл вызовите метод Save класса Presentation
.
import aspose.slides as slides
# Создаём объект Presentation, представляющий PPT‑файл
with slides.Presentation() as presentation:
# ...выполняем необходимые действия...
# Сохраняем презентацию в файл
presentation.save("Saved_out.pptx", slides.export.SaveFormat.PPTX)
Сохранение презентации в поток
Один из способов сохранить презентацию — это записать её в поток. Просто передайте выходной поток в метод Save класса Presentation
. В примере ниже мы создаём новую презентацию, добавляем текст в фигуру и сохраняем её в поток.
import aspose.slides as slides
# Создаём объект Presentation, представляющий PPT‑файл
with slides.Presentation() as presentation:
shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 200, 200, 200)
# Сохраняем презентацию в поток
with open("Save_As_Stream_out.pptx", "bw") as stream:
presentation.save(stream, slides.export.SaveFormat.PPTX)
В нашей документации вы можете узнать, как сохранять презентации с предустановленным типом представления
, сохранять презентации в строгом формате Open XML Spreadsheet
или сохранять прогресс в процентах
.
Aspose.Slides for Python via .NET совместим с Python 3.5, 3.6, 3.7, 3.8, 3.9, а при работе с Python на Linux вы можете ознакомиться с дополнительными требованиями для Linux
.
Платные консультации
Если вам нужна помощь в реализации проекта, у нас есть эксперты
, которые работают с вами над решением, разрабатывают архитектуру и внедряют наш API в соответствии с вашими требованиями. Мы возьмём на себя сложную работу, чтобы вы могли сосредоточиться на своём бизнесе.