Поширені запитання
Часті запитання
Як встановити Aspose.Slides FOSS?
Встановіть з PyPI за допомогою pip. Потрібен Python 3.10 або новіший.
pip install aspose-slides-fossПеревірте встановлення:
import aspose.slides_foss as slides
with slides.Presentation() as prs:
print(f"Slides: {len(prs.slides)}")Залежність lxml встановлюється автоматично. Microsoft Office або інше системне середовище виконання не потрібні.
Чому я повинен використовувати with slides.Presentation() as prs:?
Клас Presentation керує внутрішніми файловими дескрипторами та XML‑ресурсами. Без менеджера контексту ці ресурси не звільняються, коли об’єкт Presentation виходить за межі області видимості, що може призвести до витоків ресурсів або блокувань файлів у Windows.
Завжди дотримуйтесь цього шаблону:
with slides.Presentation("input.pptx") as prs:
# work here
prs.save("output.pptx", SaveFormat.PPTX)Які формати файлів я можу зберігати?
Підтримується лише PPTX:
from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)Експорт у PDF, HTML, SVG або формати зображень (PNG, JPEG) недоступний у цій редакції.
Чи можу я відкрити .ppt (старі PowerPoint 97–2003) файли?
Ні. Підтримуються лише файли .pptx (Office Open XML). Застарілий бінарний формат .ppt не обробляється цією бібліотекою.
Як отримати доступ до слайдів?
Слайди — це список з нульовим індексом, доступний через prs.slides:
first_slide = prs.slides[0]
slide_count = len(prs.slides)Як додати другий слайд?
Використайте prs.slides.add_empty_slide() з макетом:
with slides.Presentation() as prs:
layout = prs.layout_slides[0]
prs.slides.add_empty_slide(layout)
slide2 = prs.slides[1]
prs.save("two-slides.pptx", SaveFormat.PPTX)Як встановити колір фону слайду?
Колір фону слайду не доступний у цьому випуску. Клас Slide не надає властивість background. Спроба slide.background викличе AttributeError. Ця функція не реалізована у поточній версії.
Як я можу використовувати NullableBool?
NullableBool — це тристатний enum, який використовується для властивостей форматування. Використовуйте NullableBool.TRUE (а не True Python) для жирного, курсиву та подібних властивостей:
from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED # inherits from themeЧому встановлення кольору тексту не має ефекту?
Ви також повинні встановити fill_type = FillType.SOLID перед призначенням кольору:
from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)Чи можу я використовувати діаграми або SmartArt?
Ні. Діаграми, SmartArt, OLE‑об’єкти, анімації, переходи, гіперпосилання, VBA‑макроси та цифрові підписи не реалізовані в цьому випуску та викликають NotImplementedError.
Чи підтримує бібліотека Python 3.9?
Ні. Потрібен Python 3.10 або новіший.
Чи є ця бібліотека потокобезпечною?
Кожен Presentation об’єкт є незалежним. Створення та використання окремих Presentation екземплярів у різних потоках безпечне, доки ви не ділите один Presentation об’єкт між потоками без зовнішньої блокування.
Як вбудувати зображення?
Прочитайте байти зображення та додайте їх до prs.images, потім створіть PictureFrame:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)