Často kladené otázky

Často kladené otázky

Ako nainštalujem Aspose.Slides FOSS?

Inštalujte z PyPI pomocou pip. Vyžaduje sa Python 3.10 alebo novší.

pip install aspose-slides-foss

Overte inštaláciu:

import aspose.slides_foss as slides
with slides.Presentation() as prs:
    print(f"Slides: {len(prs.slides)}")

Závislosť lxml sa nainštaluje automaticky. Nie je potrebný Microsoft Office ani iný systémový runtime.


Prečo musím použiť with slides.Presentation() as prs:?

Trieda Presentation spravuje interné handlery súborov a XML zdroje. Bez kontextového manažéra sa tieto zdroje neuvoľnia, keď objekt Presentation opustí rozsah, čo môže spôsobiť úniky zdrojov alebo zamykanie súborov v systéme Windows.

Vždy dodržiavajte tento vzor:

with slides.Presentation("input.pptx") as prs:
    # work here
    prs.save("output.pptx", SaveFormat.PPTX)

Do akých formátov súborov môžem uložiť?

Výčtový typ SaveFormat definuje konštanty pre mnoho formátov — PPTX, PDF, HTML, SVG, JPEG, PNG a ďalšie — pre kompatibilitu API s komerčnou edíciou. Počas behu v tejto FOSS edícii všetky volania save() ignorujú argument formátu a vždy zapisujú výstup PPTX. Odovzdanie SaveFormat.PDF sa skompiluje a spustí bez chyby, ale vytvorí súbor .pptx, nie .pdf.

from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)

Export do formátov, ktoré nie sú PPTX, nie je funkčne dostupný v tejto edícii. Použite SaveFormat.PPTX pre všetky operácie ukladania.


Môžem otvoriť .ppt (staré súbory PowerPoint 97–2003)?

Nie. Podporované sú iba súbory .pptx (Office Open XML). Starý binárny formát .ppt nie je touto knižnicou spracovávaný.


Ako môžem získať prístup k snímkam?

Snímky sú zoznam s nulovým indexom prístupný cez prs.slides:

first_slide = prs.slides[0]
slide_count = len(prs.slides)

Ako pridám druhý snímok?

Použite prs.slides.add_empty_slide() s rozložením:

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)

Ako nastaviť farbu pozadia snímky?

Farebné pozadie snímky nie je k dispozícii v tejto edícii. Trieda Slide neodhaľuje vlastnosť background. Pokus o slide.background vyvolá AttributeError. Táto funkcia nie je implementovaná v aktuálnej verzii.


Ako používam NullableBool?

NullableBool je trojstavový enum používaný pre formátovacie vlastnosti. Použite NullableBool.TRUE (nie Pythonov True) pre tučné, kurzívu a podobné vlastnosti:

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

Prečo nastavenie farby textu nemá žiadny efekt?

Musíte tiež nastaviť fill_type = FillType.SOLID pred priradením farby:

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)

Môžem použiť grafy alebo SmartArt?

Nie. Grafy, SmartArt, OLE objekty, animácie, prechody, hypertextové odkazy, VBA makrá a digitálne podpisy nie sú v tejto edícii implementované a vyvolávajú NotImplementedError.


Podporuje knižnica Python 3.9?

Nie. Vyžaduje sa Python 3.10 alebo novší.


Je táto knižnica vlákno-bezpečná?

Každý objekt Presentation je nezávislý. Vytváranie a používanie samostatných inštancií Presentation z rôznych vlákien je bezpečné, pokiaľ nesdielate jediný objekt Presentation medzi vláknami bez externého zamykania.


Ako vložiť obrázok?

Prečítajte bajty obrázka a pridajte ich do prs.images, potom vytvorte 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)

Pozri tiež

 Slovenčina