Wprowadzenie

Aspose.Slides FOSS for Python jest teraz dostępny w PyPI: darmowa, licencjonowana na licencji MIT biblioteka do tworzenia, odczytywania i edytowania plików PowerPoint .pptx w całości w Pythonie, bez zależności od Microsoft Office ani żadnego własnościowego środowiska uruchomieniowego.

Biblioteka jest przeznaczona dla programistów, którzy potrzebują programowo generować lub manipulować plikami prezentacji: automatyzować zestawy slajdów na podstawie danych, wyodrębniać tekst i metadane z przesłanych plików PPTX, budować pipeline’y raportowania oparte na prezentacjach lub wbudowywać tworzenie prezentacji w aplikacje internetowe. Ponieważ aspose-slides-foss jest czystym Pythonem z jedyną zależnością lxml, wdraża się identycznie na Windows, macOS, Linux i w kontenerach Docker.

Kluczowe funkcje

  • Pełne wsparcie round‑trip dla PPTX: Otwórz dowolny plik .pptx, zmodyfikuj jego zawartość i zapisz ponownie, nie tracąc nieznanych części XML, których biblioteka jeszcze nie rozumie.
  • Zarządzanie slajdami: Dodawaj, usuwaj i iteruj slajdy przy użyciu prs.slides; prezentacja rozpoczyna się jednym pustym slajdem po slides.Presentation().
  • AutoShape’y, tabele i łączniki: Wstawiaj kształty za pomocą slide.shapes.add_auto_shape(), dane tabelaryczne za pomocą slide.shapes.add_table() oraz wizualne łączniki między kształtami za pomocą slide.shapes.add_connector().
  • Formatowanie tekstu bogatego: Formatuj tekst na poziomie znaków przy użyciu PortionFormat: rozmiar czcionki, pogrubienie, kursywa, podkreślenie oraz kolor ARGB za pomocą FillType.SOLID i Color.from_argb().
  • Typy wypełnień: Zastosuj wypełnienia FillType.SOLID, GRADIENT, PATTERN lub PICTURE do dowolnego kształtu.
  • Efekty wizualne: Zewnętrzny cień, poświata, miękka krawędź, rozmycie, odbicie i wewnętrzny cień za pomocą shape.effect_format.
  • Formatowanie 3D: Fazowanie, kamera, zestaw świateł, materiał oraz głębokość ekstruzji za pomocą shape.three_d_format.
  • Notatki prelegenta: Dołącz tekst notatek do każdego slajdu za pomocą notes_slide_manager.add_notes_slide().
  • Wątkowane komentarze: Dodawaj komentarze z metadanymi autora i pozycją na slajdzie.
  • Osadzone obrazy: Osadzaj z ścieżki pliku, bajtów lub strumienia io.BytesIO.
  • Właściwości dokumentu: Odczytuj i zapisuj podstawowe, aplikacyjne oraz własne właściwości.

Rozpoczęcie

Zainstaluj z PyPI. Wymagany jest Python 3.10 lub nowszy; lxml jest instalowany automatycznie.

pip install aspose-slides-foss

Utwórz swoją pierwszą prezentację z kształtem i zapisz ją:

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
    shape.add_text_frame("Hello from Aspose.Slides FOSS!")
    prs.save("hello.pptx", SaveFormat.PPTX)

Zawsze używaj Presentation wewnątrz bloku with; zapewnia to zwolnienie wszystkich wewnętrznych zasobów po zakończeniu bloku.

Przykład formatowania tekstu

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:
    shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold heading in corporate blue")
    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("formatted.pptx", SaveFormat.PPTX)

Obecne ograniczenia

Poniższe obszary generują NotImplementedError w tej wersji:

  • Wykresy, SmartArt i obiekty OLE
  • Animacje i przejścia slajdów
  • Eksport do PDF, HTML, SVG lub formatów obrazów
  • Hiperłącza, ustawienia akcji, makra VBA i podpisy cyfrowe

Nieznane części XML napotkane podczas ładowania są zachowywane dosłownie przy zapisie, więc pliki PPTX wygenerowane przez inne narzędzia są bezpiecznie przetwarzane w obie strony.

Zobacz także