1. Продукты
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Python

Aspose.Slides FOSS для Python

Создавайте, читайте и редактируйте презентации PowerPoint с помощью Python — бесплатно и с открытым исходным кодом, без зависимости от Office.

Открытая библиотека Python для презентаций PowerPoint

Aspose.Slides FOSS для Python — это библиотека с лицензией MIT, полностью написанная на Python, предназначенная для работы с файлами PowerPoint .pptx. Установите её одной командой pip и сразу начните создавать, читать и редактировать презентации без установки Microsoft Office или какого‑либо проприетарного runtime.

Библиотека предоставляет API презентаций, построенный вокруг Presentation, Slide, Shape, TextFrame, Paragraph и Portion — концептуальной модели, используемой самим PowerPoint. Добавляйте и удаляйте слайды, вставляйте AutoShapes, таблицы и соединители, форматируйте текст на уровне символов с помощью полужирного, курсивного начертания, размера шрифта и цвета, применяйте сплошные или градиентные заливки и добавляйте визуальные эффекты (тень, сияние, размытие, отражение).

Шаблон менеджера контекста обеспечивает надёжную очистку ресурсов: всегда открывайте Presentation с помощью with slides.Presentation(...) as prs:. Неизвестные XML‑части, встречающиеся при загрузке, сохраняются дословно при сохранении, поэтому при обратном преобразовании содержимое, которое библиотека ещё не понимает, никогда не теряется. Библиотека требует Python 3.10 или новее и зависит только от lxml, который устанавливается автоматически.

API презентаций и слайдов

  • Создание и открытие PPTX: Создавайте новые презентации или открывайте существующие файлы .pptx.
  • Добавление и удаление слайдов: Программно управляйте коллекцией слайдов.
  • AutoShapes: Вставляйте прямоугольники, эллипсы, линии и другие типы AutoShape.
  • Таблицы и соединители: Добавляйте структурированные формы таблиц и линии‑соединители между объектами.
  • Заметки докладчика: Читайте и записывайте заметки докладчика для каждого слайда.
  • Ветвящиеся комментарии: Получайте доступ к веткам комментариев уровня слайда.

Где можно использовать Aspose.Slides FOSS

  • Генерация отчетов: Создавайте фирменные наборы слайдов из источников данных без Office.
  • Автоматизация шаблонов: Заполняйте PPTX‑шаблоны динамическим контентом в конвейерах CI/CD.
  • Миграция контента: Чтение существующих презентаций и реструктуризация или изменение стиля слайдов.
  • Беспилотные бэкенды: Обработка файлов PPTX внутри Docker‑контейнеров или функций Lambda.
  • Пакетная обработка: Применение единообразных изменений форматирования к большим библиотекам наборов слайдов.

Форматирование текста и визуальные эффекты

  • Форматирование на уровне символов: Применяйте полужирный, курсив, размер шрифта и цвет к отдельным объектам Portion.
  • Сплошные и градиентные заливки: Устанавливайте заливку фигуры в сплошной цвет или линейный градиент с несколькими остановками.
  • Эффекты тени и свечения: Применяйте внешнюю тень, свечение, размытие и отражение к любой фигуре.
  • Выравнивание абзаца: Устанавливайте выравнивание слева, по центру, справа или по ширине для каждого абзаца.
  • Безопасно при обратном проходе: Неизвестные XML‑части сохраняются дословно при повторном сохранении.

Опыт разработчика

Aspose.Slides FOSS устанавливается одной командой pip install aspose-slides-foss. Единственной зависимостью во время выполнения является lxml, устанавливаемая автоматически. Нет нативных расширений для компиляции.

API отражает собственную объектную модель PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), поэтому любой, знакомый с объектной моделью PowerPoint, может сразу использовать библиотеку. Она лицензирована по MIT, с открытым исходным кодом на GitHub и требует Python 3.10 или новее.

Создать презентацию и добавить форму

Используйте менеджер контекста (with slides.Presentation() as prs:), чтобы гарантировать, что PPTX всегда закрывается и ресурсы освобождаются. add_auto_shape() принимает перечисление ShapeType, затем позицию x/y и ширину/высоту в пунктах — свойство text_frame.text формы задаёт метку в одну строку.

pip install aspose-slides-foss
import aspose.slides_foss as slides

with slides.Presentation() as prs:
    slide = prs.slides[0]

    # Добавить прямоугольную автофигуру
    shape = slide.shapes.add_auto_shape(
        slides.ShapeType.RECTANGLE, 50, 50, 400, 150
    )
    shape.text_frame.text = "Привет, Aspose.Slides!"

    prs.save("output.pptx", slides.export.SaveFormat.PPTX)

Форматировать текст и применить эффект заливки

Форматирование текста работает на уровне Portion — наименьшей единицы последовательности символов. Откройте сохранённый файл, перейдите к первой части первого абзаца и задайте свойства шрифта напрямую. Заполнение фигуры независимо: установите fill_type в SOLID и задайте цвет solid_fill_color.color.

import aspose.slides_foss as slides
from aspose.slides_foss.drawing import Color

with slides.Presentation("output.pptx") as prs:
    shape = prs.slides[0].shapes[0]
    portion = shape.text_frame.paragraphs[0].portions[0]

    # Жирный, 18pt, темно-синий текст
    portion.portion_format.font_bold = True
    portion.portion_format.font_height = 18
    portion.portion_format.fill_format.solid_fill_color.color = Color.dark_blue

    # Сплошное заполнение фона формы
    shape.fill_format.fill_type = slides.FillType.SOLID
    shape.fill_format.solid_fill_color.color = Color.alice_blue

    prs.save("formatted.pptx", slides.export.SaveFormat.PPTX)

Часто задаваемые вопросы

Что такое Aspose.Slides FOSS для Python?

Это бесплатная библиотека с лицензией MIT, полностью Python, для создания, чтения и редактирования презентаций PowerPoint .pptx без необходимости использования Microsoft Office.

Какие форматы файлов поддерживаются?

PPTX — поддерживаемый формат чтения/записи. Экспорт в PDF, HTML, SVG или изображения недоступен в этой версии.

Требуется ли Microsoft Office или PowerPoint?

Нет. Aspose.Slides FOSS — это полностью Python библиотека без зависимости от Microsoft Office, автоматизации COM или какого-либо проприетарного runtime.

Как установить его?

Выполните pip install aspose-slides-foss. Единственная зависимость — lxml, устанавливается автоматически. Требуется Python 3.10 или новее.

Могу ли я применить визуальные эффекты, такие как тень и свечение?

Да. Библиотека поддерживает внешнюю тень, свечение, размытие и эффекты отражения для любого объекта формы.

Рекомендуется ли использовать паттерн контекстного менеджера?

Да. Всегда открывайте Presentation с помощью with slides.Presentation(...) as prs:, чтобы обеспечить надёжную очистку ресурсов.

Повредит ли повторный импорт‑экспорт PPTX неизвестный контент?

Нет. Неизвестные XML‑части, обнаруженные при загрузке, сохраняются дословно при сохранении, поэтому содержимое, которое библиотека ещё не понимает, никогда не теряется.

Где я могу найти исходный код?

Библиотека лицензирована по MIT и размещена на GitHub. Сообщения об ошибках и запросы на включение изменений приветствуются.

  

Ресурсы поддержки и обучения

 Русский