Функції та можливості

Функції та можливості

Aspose.Slides FOSS for Python надає широкий набір можливостей для програмної роботи з файлами PowerPoint .pptx. На цій сторінці перелічено всі підтримувані області функціональності з представницькими прикладами коду.


Презентація I/O

Відкрийте існуючий файл .pptx або створіть новий, потім збережіть у форматі PPTX.

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

# Open an existing presentation
with slides.Presentation("input.pptx") as prs:
    print(f"Slide count: {len(prs.slides)}")
    prs.save("output.pptx", SaveFormat.PPTX)

# Create a new presentation (starts with one blank slide)
with slides.Presentation() as prs:
    prs.save("new.pptx", SaveFormat.PPTX)

Примітка: PPTX — єдиний підтримуваний формат збереження. Експорт у PDF, HTML, SVG або зображення недоступний.

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


Управління слайдами

Додати, видалити, клонувати та змінити порядок слайдів.

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

with slides.Presentation() as prs:
    # Access the first slide
    slide = prs.slides[0]

    # Add an additional blank slide at the end
    prs.slides.add_empty_slide(prs.layout_slides[0])

    print(f"Total slides: {len(prs.slides)}")
    prs.save("multi-slide.pptx", SaveFormat.PPTX)

Форми

Додайте AutoShapes, PictureFrames, Tables та Connectors до слайду.

AutoShapes

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

with slides.Presentation() as prs:
    slide = prs.slides[0]
    # Add a rectangle at (x=50, y=50) with width=300, height=100
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
    shape.add_text_frame("Aspose.Slides FOSS")
    prs.save("shapes.pptx", SaveFormat.PPTX)

Таблиці

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

with slides.Presentation() as prs:
    slide = prs.slides[0]
    # Column widths and row heights in points
    col_widths = [120.0, 120.0, 120.0]
    row_heights = [40.0, 40.0, 40.0]
    table = slide.shapes.add_table(50, 50, col_widths, row_heights)
    table.rows[0][0].text_frame.text = "Product"
    table.rows[0][1].text_frame.text = "Quantity"
    table.rows[0][2].text_frame.text = "Price"
    prs.save("table.pptx", SaveFormat.PPTX)

Коннектори

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

with slides.Presentation() as prs:
    slide = prs.slides[0]
    box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 100, 150, 60)
    box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 350, 100, 150, 60)
    conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
    conn.start_shape_connected_to = box1
    conn.start_shape_connection_site_index = 3  # right side
    conn.end_shape_connected_to = box2
    conn.end_shape_connection_site_index = 1    # left side
    prs.save("connector.pptx", SaveFormat.PPTX)

Форматування тексту

Форматуйте текст на рівні абзацу та символу за допомогою PortionFormat.

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:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold blue heading")

    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("text.pptx", SaveFormat.PPTX)

NullableBool.TRUE встановлює властивість явно; NullableBool.NOT_DEFINED успадковується від майстра слайдів.


Типи заповнення

Застосуйте суцільне, градієнтне, візерункове або зображенням заповнення до форм.

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

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)

    # Solid fill
    shape.fill_format.fill_type = FillType.SOLID
    shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 120, 200)

    prs.save("fill.pptx", SaveFormat.PPTX)

Візуальні ефекти

Застосуйте зовнішню тінь, світіння, м’яку межу, розмиття, відображення та внутрішню тінь до форм.

Властивості ефекту доступні через shape.effect_format. Встановіть outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect або inner_shadow_effect, щоб налаштувати кожну окремо.


3D-форматування

Застосуйте 3D‑скос, камеру, освітлювальну систему, матеріал і глибину екструзії за допомогою shape.three_d_format. Це контролює візуальну глибину та модель освітлення під час рендерингу форм у переглядачах PPTX, які підтримують 3D‑ефекти.


Примітки доповідача

Прикріпіть нотатки до будь‑якого слайду, використовуючи notes_slide_manager.

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

with slides.Presentation() as prs:
    notes = prs.slides[0].notes_slide_manager.add_notes_slide()
    notes.notes_text_frame.text = "Key talking point: emphasize the ROI benefit."
    prs.save("notes.pptx", SaveFormat.PPTX)

Коментарі

Додайте багаторівневі коментарі з інформацією про автора та позицією слайду.

import aspose.slides_foss as slides
from aspose.slides_foss.drawing import PointF
from aspose.slides_foss.export import SaveFormat
from datetime import datetime

with slides.Presentation() as prs:
    author = prs.comment_authors.add_author("Jane Smith", "JS")
    slide = prs.slides[0]
    author.comments.add_comment(
        "Please verify this data before the presentation.",
        slide,
        PointF(2.0, 2.0),
        datetime.now()
    )
    prs.save("comments.pptx", SaveFormat.PPTX)

Вбудовані зображення

Вставте зображення з шляху до файлу у презентацію та додайте його на слайд як PictureFrame.

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

with slides.Presentation() as prs:
    with open("logo.png", "rb") as f:
        image_data = f.read()
    image = prs.images.add_image(image_data)
    slide = prs.slides[0]
    slide.shapes.add_picture_frame(
        slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image
    )
    prs.save("with-image.pptx", SaveFormat.PPTX)

Властивості документа

Читати та записувати основні, додаткові та користувацькі властивості документа.

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

with slides.Presentation() as prs:
    props = prs.document_properties

    # Core properties
    props.title = "Q1 Results"
    props.author = "Finance Team"
    props.subject = "Quarterly Review"
    props.keywords = "Q1, finance, results"

    # Custom property
    props.set_custom_property_value("ReviewedBy", "Legal Team")

    prs.save("deck.pptx", SaveFormat.PPTX)

Відомі обмеження

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

ОбластьСтатус
ДіаграмиНе реалізовано
SmartArtНе реалізовано
Анімації та переходиНе реалізовано
Експорт PDF / HTML / SVG / зображеньНе реалізовано (лише PPTX)
VBA макросиНе реалізовано
Цифрові підписиНе реалізовано
Гіперпосилання та налаштування дійНе реалізовано
OLE-об’єктиНе реалізовано
Математичний текстНе реалізовано

Див. також

  • Getting Started: Встановлення та перший скрипт
  • API Reference: Довідник класів і методів
  • How-To Guides: Статті, орієнтовані на завдання
 Українська