Вступ
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‑файли, створені іншими інструментами, безпечно проходять цикл завантаження‑збереження.