Вступ

Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx файли повністю у Python, без залежності від Microsoft Office чи будь-якого пропрієтарного середовища виконання.

Бібліотека розроблена для розробників, яким потрібно програмно генерувати або маніпулювати файлами презентацій: автоматизувати створення слайдів з даних, витягувати текст і метадані з завантажених файлів PPTX, будувати конвеєри звітності на основі презентацій або вбудовувати створення презентацій у веб‑додатки. Оскільки aspose-slides-foss є чистим Python лише з lxml як залежністю, вона розгортається однаково на Windows, macOS, Linux та в Docker‑контейнерах.

Ключові можливості

  • Повна підтримка повного циклу PPTX: Відкрити будь‑який .pptx файл, змінити його вміст і зберегти назад без втрати невідомих XML‑частин, які бібліотека ще не розуміє.
  • Керування слайдами:Додайте, видаляйте та перебирайте слайди за допомогою prs.slides; презентація починається з одного порожнього слайду після slides.Presentation().
  • AutoShapes, таблиці та з’єднувачі: Вставляйте фігури за допомогою slide.shapes.add_auto_shape(), табличні дані за допомогою slide.shapes.add_table(), та візуальні з’єднувачі між фігурами за допомогою slide.shapes.add_connector().
  • Форматування багатого тексту: Форматуйте текст на рівні символів за допомогою PortionFormat: розмір шрифту, жирний, курсив, підкреслення та колір ARGB через FillType.SOLID і Color.from_argb().
  • типи заповнення: Застосувати FillType.SOLID, GRADIENT, PATTERN, або PICTURE заповнення до будь‑якої форми.
  • Візуальні ефекти: зовнішня тінь, світіння, м’яка межа, розмиття, відображення та внутрішня тінь через shape.effect_format.
  • 3D formatting: Фаска, камера, система освітлення, матеріал і глибина екструзії за допомогою shape.three_d_format.
  • Нотатки доповідача: Прикріпити текст нотаток до кожного слайду за допомогою notes_slide_manager.add_notes_slide().
  • Тематичні коментарі: Додати коментарі з метаданими автора та позицією слайду.
  • Вбудовані зображення: Вбудувати з шляху файлу, байтів або io.BytesIO потоку.
  • Властивості документа: Читати та записувати основні, додаткові та користувацькі властивості.

Getting Started

Встановити з PyPI. Python 3.10 або новіша версія потрібна; lxml встановлюється автоматично.

pip install aspose-slides-foss

Створіть свою першу презентацію з формою та збережіть її:

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
    shape.add_text_frame("Hello from Aspose.Slides FOSS!")
    prs.save("hello.pptx", SaveFormat.PPTX)

Завжди використовуйте Presentation всередині with блоку; це забезпечує звільнення всіх внутрішніх ресурсів при виході з блоку.

Приклад форматування тексту

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold heading in corporate blue")
    fmt = tf.paragraphs[0].portions[0].portion_format
    fmt.font_height = 28
    fmt.font_bold = NullableBool.TRUE
    fmt.fill_format.fill_type = FillType.SOLID
    fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
    prs.save("formatted.pptx", SaveFormat.PPTX)

Поточні обмеження

Наступні області генерують NotImplementedError у цьому випуску:

  • Діаграми, SmartArt та OLE‑об’єкти
  • Анімації та переходи між слайдами
  • Експорт у PDF, HTML, SVG або формати зображень
  • Гіперпосилання, налаштування дій, VBA‑макроси та цифрові підписи

Невідомі XML‑частини, виявлені під час завантаження, зберігаються дослівно при збереженні, тому PPTX‑файли, створені іншими інструментами, безпечно проходять цикл завантаження‑збереження.

Див. також