Функції та можливості
Функції та можливості
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: Статті, орієнтовані на завдання