Introducere
Aspose.Slides FOSS for Python este acum disponibil pe PyPI: o bibliotecă gratuită, cu licență MIT, pentru crearea, citirea și editarea fișierelor PowerPoint .pptx în întregime în Python, fără nicio dependență de Microsoft Office sau de vreun runtime proprietar.
Biblioteca este concepută pentru dezvoltatori care trebuie să genereze sau să manipuleze fișiere de prezentare programatic: să automatizeze seturi de diapozitive din date, să extragă text și metadate din fișiere PPTX încărcate, să construiască fluxuri de raportare bazate pe prezentări sau să încorporeze crearea de prezentări în aplicații web. Deoarece aspose-slides-foss este pur Python cu doar lxml ca dependență, se implementează identic pe Windows, macOS, Linux și containere Docker.
Caracteristici principale
- Suport complet round‑trip PPTX: Deschideți orice fișier
.pptx, modificați conținutul său și salvați-l înapoi fără a pierde părțile XML necunoscute pe care biblioteca nu le înțelege încă. - Gestionarea diapozitivelor: Adăugați, eliminați și iterați diapozitivele utilizând
prs.slides; prezentarea începe cu un diapozitiv gol dupăslides.Presentation(). - AutoShape-uri, Tabele și Conectori: Inserare forme prin
slide.shapes.add_auto_shape(), date tabelare prinslide.shapes.add_table()și conectori vizuali între forme prinslide.shapes.add_connector(). - Formatare text îmbogățit: Formatați textul la nivel de caracter cu
PortionFormat: dimensiune font, îngroșat, cursiv, subliniere și culoare ARGB prinFillType.SOLIDșiColor.from_argb(). - Tipuri de umplere: Aplicați umpleri
FillType.SOLID,GRADIENT,PATTERNsauPICTUREoricărei forme. - Efecte vizuale: Umbră exterioară, strălucire, margine moale, estompare, reflexie și umbră interioară prin
shape.effect_format. - Formatare 3D: Biselă, cameră, sistem de iluminare, material și adâncime de extrudare prin
shape.three_d_format. - Note pentru vorbitor: Atașați textul notelor la fiecare diapozitiv prin
notes_slide_manager.add_notes_slide(). - Comentarii în lanț: Adăugați comentarii cu metadate ale autorului și poziția diapozitivului.
- Imagini încorporate: Încorporați din calea fișierului, octeți sau flux
io.BytesIO. - Proprietăți ale documentului: Citiți și scrieți proprietăți de bază, aplicație și proprietăți personalizate.
Începeți
Instalați de pe PyPI. Python 3.10 sau o versiune ulterioară este necesar; lxml este instalat automat.
pip install aspose-slides-foss
Creează prima ta prezentare cu o formă și salveaz‑o:
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)
Utilizați întotdeauna Presentation în interiorul unui bloc with; acest lucru asigură eliberarea tuturor resurselor interne când blocul se închide.
Exemplu de formatare a textului
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)
Limitări curente
Următoarele zone declanșează NotImplementedError în această versiune:
- Grafice, SmartArt și obiecte OLE
- Animații și tranziții de diapozitiv
- Export în PDF, HTML, SVG sau formate de imagine
- Legături hipertext, setări de acțiune, macro-uri VBA și semnături digitale
Părțile XML necunoscute întâlnite în timpul încărcării sunt păstrate literalmente la salvare, astfel încât fișierele PPTX produse de alte instrumente să poată fi reutilizate în siguranță.