Najczęściej zadawane pytania

Najczęściej zadawane pytania

Najczęściej zadawane pytania

Jak zainstalować Aspose.Slides FOSS?

Zainstaluj z PyPI przy użyciu pip. Wymagany jest Python 3.10 lub nowszy.

pip install aspose-slides-foss

Sprawdź instalację:

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

Zależność lxml jest instalowana automatycznie. Nie jest wymagany Microsoft Office ani inne środowisko uruchomieniowe systemu.


Dlaczego muszę używać with slides.Presentation() as prs:?

Klasa Presentation zarządza wewnętrznymi uchwytami plików i zasobami XML. Bez menedżera kontekstu te zasoby nie są zwalniane, gdy obiekt Presentation wychodzi poza zakres, co może powodować wycieki zasobów lub blokady plików w systemie Windows.

Zawsze stosuj ten wzór:

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

Do jakich formatów plików mogę zapisać?

Obsługiwany jest tylko PPTX:

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

Eksport do PDF, HTML, SVG lub formatów obrazu (PNG, JPEG) nie jest dostępny w tej edycji.


Czy mogę otworzyć .ppt (stare PowerPoint 97–2003) pliki?

Nie. Obsługiwane są wyłącznie pliki .pptx (Office Open XML). Starszy format binarny .ppt nie jest obsługiwany przez tę bibliotekę.


Jak uzyskać dostęp do slajdów?

Slajdy są listą zerowo‑indeksowaną dostępną poprzez prs.slides:

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

Jak dodać drugi slajd?

Użyj prs.slides.add_empty_slide() z układem:

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 ustawić kolor tła slajdu?

Kolorowanie tła slajdu nie jest dostępne w tej edycji. Klasa Slide nie udostępnia właściwości background. Próba slide.background spowoduje podniesienie AttributeError. Ta funkcja nie jest zaimplementowana w bieżącej wersji.


Jak używać NullableBool?

NullableBool jest wyliczeniem trójstanowym używanym do właściwości formatowania. Użyj NullableBool.TRUE (nie Pythona True) do pogrubienia, kursywy i podobnych właściwości:

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

Dlaczego ustawienie koloru tekstu nie ma żadnego efektu?

Musisz także ustawić fill_type = FillType.SOLID przed przypisaniem koloru:

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)

Czy mogę używać wykresów lub SmartArt?

Nie. Wykresy, SmartArt, obiekty OLE, animacje, przejścia, hiperłącza, makra VBA oraz podpisy cyfrowe nie są zaimplementowane w tej edycji i generują NotImplementedError.


Czy biblioteka obsługuje Pythona 3.9?

Nie. Wymagany jest Python 3.10 lub nowszy.


Czy ta biblioteka jest bezpieczna wątkowo?

Każdy obiekt Presentation jest niezależny. Tworzenie i używanie oddzielnych instancji Presentation z różnych wątków jest bezpieczne, o ile nie udostępniasz jednego obiektu Presentation pomiędzy wątkami bez zewnętrznego blokowania.


Jak osadzić obraz?

Odczytaj bajty obrazu i dodaj je do prs.images, a następnie utwórz 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)

Zobacz także

 Polski