Wprowadzenie
Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx pliki w pełni w Python, 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 osadzać tworzenie prezentacji w aplikacjach webowych. Ponieważ aspose-slides-foss jest czystym Python z jedyną lxml jako zależnością, wdraża się identycznie na Windows, macOS, Linux oraz w kontenerach Docker.
Kluczowe funkcje
- Pełne wsparcie round‑trip dla PPTX: Otwórz dowolny
.pptxplik, 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 zaczyna się od jednego pustego slajdu poslides.Presentation(). - AutoShapes, Tabele i Łączniki: Wstaw 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 sformatowanego: Formatuj tekst na poziomie znaków przy użyciu
PortionFormat: rozmiaru czcionki, pogrubienia, kursywy, podkreślenia i koloru ARGB za pomocąFillType.SOLIDorazColor.from_argb(). - Typy wypełnień: Zastosuj
FillType.SOLID,GRADIENT,PATTERN, lubPICTUREwypełnienia do dowolnego kształtu. - Efekty wizualne: Cień zewnętrzny, poświata, miękka krawędź, rozmycie, odbicie i cień wewnętrzny za pomocą
shape.effect_format. - 3D formatting: Bevel, kamera, zestaw oświetleniowy, materiał i głębokość wyciągnięcia za pomocą
shape.three_d_format. - Notatki prelegenta: Dołącz tekst notatek do każdego slajdu za pomocą
notes_slide_manager.add_notes_slide(). - Komentarze wątkowe: Dodaj komentarze z metadanymi autora i pozycją slajdu.
- Osadzone obrazy: Osadź z ścieżki pliku, bajtów lub
io.BytesIOstrumienia. - Właściwości dokumentu: Odczyt i zapis podstawowych, aplikacyjnych i niestandardowych właściwości.
Rozpoczęcie pracy
Zainstaluj z PyPI. Python 3.10 lub nowszy jest wymagany; 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 with bloku; 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
- Hiperdłącza, ustawienia akcji, makra VBA i podpisy cyfrowe
Nieznane części XML napotkane podczas ładowania są zachowywane w niezmienionej formie przy zapisie, dzięki czemu pliki PPTX wygenerowane przez inne narzędzia mogą być bezpiecznie ponownie wczytywane.