Introduction

Ця книга показує, як створювати, змінювати та зберігати презентації PowerPoint програмно в Python з використанням Aspose.Slides FOSS. Бібліотека дозволяє створити слайди від нуля, додавати і перепорядкувати слайда, заповнювати їх формами, таблицями та форматованим текстом, а потім зберегти результат у PPTX. Вся обробка відбувається в чистому Python без залежності від Microsoft Office або будь-якої зовнішньої двоякісної системи.

Бібліотека доступна на PyPI як: aspose-slides-foss під ліцензією MIT. його з pip, імпортувати його, і почати створення презентацій в декількох рядках коду. Ви автоматизуєте генерацію звітів, будуючи слайд-деке трубопровід або вбудовані вихід презентації в веб-додатку, API охоплює всю поверхню: слайд колекції, основні/макетні слайди, колекція форм, текстові рамки, формати заповнення та варіанти експорту.

У цьому публікації ви дізнаєтеся про основні можливості управління презентаціями класи та методи, які Ви будете використовувати найбільше при роботі зі слайдами в Python.


Що включається

Презентація Цикл життя

У. Presentation клас - це точка входу. Створіть нову колоду, маніпулюйте її змістом і збережіть до PPTX. Використовуйте Presentation як менеджер контексту з with автоматично відпускати файлові ручки.

import io
from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    # A new presentation starts with one blank slide
    print("Slides:", len(pres.slides))  # 1

    # Save to a file
    pres.save("output.pptx", SaveFormat.PPTX)

    # Or save to a stream
    buf = io.BytesIO()
    pres.save(buf, SaveFormat.PPTX)

Операції збірки слайдів

SlideCollection Додає, вставляє, клонує, видаляє і перепорядковує слайди. len(pres.slides) відображає поточний розмір після кожної зміни.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    layout = pres.layout_slides[0]

    # Add a blank slide using the first layout
    pres.slides.add_empty_slide(layout)

    # Insert at a specific position
    pres.slides.insert_empty_slide(1, layout)

    # Clone an existing slide (shapes are copied)
    pres.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 200, 100)
    pres.slides.add_clone(pres.slides[0])

    print("Total slides:", len(pres.slides))  # 4

    # Remove by index
    pres.slides.remove_at(3)

Форми та Автоформи

Додайте прямокутні, еліпси, трикутники та інші геометрічні форми до будь-якого слайду через ShapeCollection.add_auto_shape().Кожна форма показує положення, розмір, обертання., і властивості заповнення, які зберігаються протягом циклів збереження/перезавантаження.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    rect = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
    rect.rotation = 15

    ellipse = slide.shapes.add_auto_shape(ShapeType.ELLIPSE, 400, 50, 200, 200)

    # Reorder z-index
    slide.shapes.reorder(0, ellipse)
    print("Front shape:", slide.shapes[0].shape_type)  # ELLIPSE

Tables

Створення таблиць даних з: ShapeCollection.add_table(), встановлюється текст клітини через TextFrame, з’єднати клітини та застосувати форматизацію кордонів. Висота рядків і стовпців ширини відповідають значенням, які ви передаєте конструктору.

from aspose.slides_foss import Presentation, FillType
from aspose.slides_foss.drawing import Color

    table = slide.shapes.add_table(50, 50, [150, 150, 150], [40, 40, 40])

    # Merge two cells in the second row
    table.merge_cells(table.rows[1][0], table.rows[1][1], False)

    # Style the header row with a bottom border
    for col_idx in range(len(table.columns)):
        fmt = table.rows[0][col_idx].cell_format
        fmt.border_bottom.fill_format.fill_type = FillType.SOLID
        fmt.border_bottom.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 0, 0)
        fmt.border_bottom.width = 2

Мастер і слайди для оформлення

Кожна презентація має ієрархію мастер-слайдів та слайд розкладу. Доступ до них через Presentation.masters і Presentation.layout_slides застосовувати послідовні Форматування по всій палубі.

from aspose.slides_foss import Presentation

with Presentation() as pres:
    master = pres.masters[0]
    print("Master layouts:", len(master.layout_slides))

    # Pick a layout by type
    from aspose.slides_foss import SlideLayoutType
    title_layout = pres.layout_slides.get_by_type(SlideLayoutType.TITLE)
    if title_layout:
        pres.slides.add_empty_slide(title_layout)

Свойства документів

Читати та писати вбудовані метадані, такі як назва, автор і предмет через DocumentProperties Об’єкт. Назначити будь-які з цих властивостей перед закликанням save() вони вбудовані у метадані PPTX і читаються інструментами, що знаходяться далі:

from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    props = pres.document_properties
    props.title = "Quarterly Report"
    props.author = "Engineering"
    props.subject = "Q1 2026 Results"

    pres.save("report.pptx", SaveFormat.PPTX)

Швидкий старт

Виконайте наступну команду pip для встановлення Aspose.Slides FOSS for Python з PyPI:

pip install aspose-slides-foss

Наступний приклад створює презентацію з формою заголовку, таблицею даних та заповненням, а потім зберігає її в PPTX:

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

    # Add a title shape
    title = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 30, 860, 80)
    tf = title.add_text_frame("Quarterly Report")
    tf.paragraphs[0].portions[0].portion_format.font_bold = NullableBool.TRUE
    tf.paragraphs[0].portions[0].portion_format.font_height = 28

    # Add a data table
    table = slide.shapes.add_table(50, 150, [200, 200, 200], [40, 40, 40])
    headers = ["Region", "Revenue", "Growth"]
    for i, h in enumerate(headers):
        table.rows[0][i].text_frame.text = h

    # Fill the title shape background
    title.fill_format.fill_type = FillType.SOLID
    title.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 51, 102)

    # Save as PPTX
    pres.save("report.pptx", SaveFormat.PPTX)

Підтримувані формати

FormatExtensionReadWrite
PPTX.pptx
PPT.pptPlanned
PPSX.ppsxPlanned
PPTM.pptmPlanned
POTX.поксPlanned
ODP.odpPlanned
PDF.pdfPlanned
HTML.html (доступний файл)Planned
HTML5.html (доступний файл)Planned
TIFF.Тиф.Planned
GIF.gifPlanned
XPS.xpsPlanned
FODP.fodpPlanned
MD.mdPlanned

Примітка: Читання та запис PPTX повністю реалізовані. SaveFormat значення (PPT, ODP, PDF і т. д.) плануються для майбутніх випусков; передача їх до save() що в даний час виробляє вихід PPTX.


Відкритий код та ліцензія

Aspose.Slides FOSS for Python is released under the MIT license. You can use it in Персональні, академічні та комерційні проекти без обмежень. доступний на: GitHub і пакет опублікований на: PyPI.


Починати з

Пов’язані ресурси