Uvod

Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx datoteke u potpunosti u Python, bez ovisnosti o Microsoft Officeu ili bilo kojem vlasničkom runtimeu.

Biblioteka je dizajnirana za programere koji trebaju programatski generirati ili manipulirati datotekama prezentacija: automatiziranje slajdova iz podataka, izdvajanje teksta i metapodataka iz učitanih PPTX datoteka, izgradnja izvještajnih cjevovoda temeljenih na prezentacijama ili ugradnja stvaranja prezentacija u web aplikacije. Zato aspose-slides-foss je čisti Python s jedinom lxml kao ovisnošću, distribuira se identično na Windows, macOS, Linux i Docker kontejnerima.

Ključne značajke

  • Potpuna round‑trip podrška za PPTX: Otvorite bilo koju .pptx datoteku, izmijenite njen sadržaj i spremite je natrag bez gubitka nepoznatih XML dijelova koje biblioteka još ne razumije.
  • Upravljanje slajdovima: Dodajte, uklonite i iterirajte slajdove koristeći prs.slides; prezentacija započinje jednim praznim slajdom nakon slides.Presentation().
  • AutoOblici, Tablice i Poveznice: Umetnite oblike putem slide.shapes.add_auto_shape(), tablične podatke putem slide.shapes.add_table(), i vizualne poveznice između oblika putem slide.shapes.add_connector().
  • Obogaćeno formatiranje teksta: Formatirajte tekst na razini znakova pomoću PortionFormat: veličina fonta, podebljano, kurziv, podcrtano i ARGB boja putem FillType.SOLID i Color.from_argb().
  • Vrste ispune: Primijeni FillType.SOLID, GRADIENT, PATTERN, ili PICTURE popunjava u bilo koji oblik.
  • Vizualni efekti: Vanjska sjena, sjaj, mekani rub, zamućenje, refleksija i unutarnja sjena putem shape.effect_format.
  • 3D formatting: Nagib, kamera, rasvjetni sustav, materijal i dubina izbočenja putem shape.three_d_format.
  • Bilješke govornika: Priloži tekst bilješki svakom slajdu putem notes_slide_manager.add_notes_slide().
  • Komentari u nitima: Dodaj komentare s metapodacima autora i položajem slajda.
  • Ugrađene slike: Ugradi iz putanje datoteke, bajtova ili io.BytesIO tok.
  • Svojstva dokumenta: Čitaj i piši osnovna, aplikacijska i prilagođena svojstva.

Početak rada

Instaliraj s PyPI. Python 3.10 ili noviji je potreban; lxml se instalira automatski.

pip install aspose-slides-foss

Stvorite svoju prvu prezentaciju s oblikom i spremite je:

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)

Uvijek koristite Presentation unutar with bloka; to osigurava da se svi unutarnji resursi oslobode kada blok napusti.

Primjer formatiranja teksta

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)

Trenutna ograničenja

Sljedeća područja generiraju NotImplementedError u ovom izdanju:

  • Grafikoni, SmartArt i OLE objekti
  • Animacije i prijelazi slajdova
  • Izvoz u PDF, HTML, SVG ili slikovne formate
  • Hiperveze, postavke radnji, VBA makroi i digitalni potpisi

Nepoznati XML dijelovi koji se pojave tijekom učitavanja očuvani su doslovno pri spremanju, pa PPTX datoteke proizvedene drugim alatima sigurno prolaze kroz ciklus.

Vidi također