Въведение

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 или каквато и да е собственическа runtime.

Библиотеката е проектирана за разработчици, които трябва да генерират или манипулират презентационни файлове програмно: автоматизиране на набори от слайдове от данни, извличане на текст и метаданни от качени PPTX файлове, изграждане на отчетни конвейери, базирани на презентации, или вграждане на създаване на презентации в уеб приложения. Защото aspose-slides-foss е чист Python само с lxml като зависимост, тя се разгръща идентично на Windows, macOS, Linux и Docker контейнери.

Ключови функции

  • Пълна round-trip PPTX поддръжка: Отворете всеки .pptx файл, променете съдържанието му и го запишете обратно, без да губите неизвестни XML части, които библиотеката все още не разбира.
  • Управление на слайдове: Добавяйте, премахвайте и обхождайте слайдове, използвайки prs.slides; презентацията започва с един празен слайд след slides.Presentation().
  • AutoShapes, таблици и Connectors: Вмъкване на форми чрез 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 поток.
  • Свойства на документа: Четене и записване на основни, приложни и персонализирани свойства.

Започване

Инсталирайте от 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 файловете, създадени от други инструменти, се обработват безопасно при повторно зареждане.

Вижте също