Často kladené otázky

Často kladené otázky

Často kladené otázky

Jak nainstaluji Aspose.Slides FOSS?

Nainstalujte z PyPI pomocí pip. Je vyžadována verze Python 3.10 nebo novější.

pip install aspose-slides-foss

Ověřte instalaci:

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

Závislost lxml je instalována automaticky. Není vyžadován Microsoft Office ani žádné další systémové runtime.


Proč musím používat with slides.Presentation() as prs:?

Třída Presentation spravuje interní souborové handle a XML zdroje. Bez správce kontextu nejsou tyto zdroje uvolněny, když objekt Presentation opustí rozsah, což může způsobit úniky zdrojů nebo zamknutí souborů ve Windows.

Vždy dodržujte tento vzor:

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

Do jakých formátů souborů mohu ukládat?

Enum SaveFormat definuje konstanty pro mnoho formátů — PPTX, PDF, HTML, SVG, JPEG, PNG a další — pro kompatibilitu API s komerční edicí. V době běhu v této FOSS edici všechny volání save() ignorují argument formátu a vždy zapisují výstup PPTX. Předání SaveFormat.PDF se zkompiluje a spustí bez chyby, ale vytvoří soubor .pptx, nikoli .pdf.

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

Export do formátů jiných než PPTX není v této edici funkčně dostupný. Použijte SaveFormat.PPTX pro všechny operace ukládání.


Mohu otevřít .ppt (staré PowerPoint 97–2003) soubory?

Ne. Pouze .pptx (Office Open XML) soubory jsou podporovány. Legacy .ppt binární formát není touto knihovnou zpracováván.


Jak mohu získat přístup k snímkům?

Snímky jsou seznam s nulovým indexem přístupný přes prs.slides:

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

Jak přidám druhý snímek?

Použijte prs.slides.add_empty_slide() s rozvrž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)

Jak nastavit barvu pozadí snímku?

Barvení pozadí snímku je nedostupné v této edici. Třída Slide neexponuje vlastnost background. Pokus o slide.background vyvolá AttributeError. Tato funkce není v aktuální verzi implementována.


Jak použít NullableBool?

NullableBool je trojstavový výčet používaný pro formátovací vlastnosti. Použijte NullableBool.TRUE (ne Pythonův True) pro 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

Proč nastavení barvy textu nemá žádný efekt?

Musíte také nastavit fill_type = FillType.SOLID před přiřazením barvy:

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)

Mohu používat grafy nebo SmartArt?

Ne. Grafy, SmartArt, OLE objekty, animace, přechody, hypertextové odkazy, VBA makra a digitální podpisy nejsou v této edici implementovány a vyvolají NotImplementedError.


Podporuje knihovna Python 3.9?

Ne. Python 3.10 nebo novější je vyžadován.


Je tato knihovna vlákno-bezpečná?

Každý objekt Presentation je nezávislý. Vytváření a používání samostatných instancí Presentation z různých vláken je bezpečné, pokud nesdílíte jediný objekt Presentation mezi vlákny bez externího zamykání.


Jak vložím obrázek?

Přečtěte bajty obrázku a přidejte je do prs.images, poté vytvořte 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)

Viz také

 Čeština