Introducere

Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx fișiere complet î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ă integreze 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 cheie

  • Suport complet round-trip pentru PPTX: Deschide orice .pptx fișier, modifică conținutul său și salvează-l înapoi fără a pierde părțile XML necunoscute pe care biblioteca nu le înțelege încă.
  • Gestionarea diapozitivelor: Adaugă, elimină și iterează diapozitivele utilizând prs.slides; prezentarea începe cu un diapozitiv gol după slides.Presentation().
  • AutoShapes, Tabele și Conectori:Inserează forme prin slide.shapes.add_auto_shape(),date tabulare prin slide.shapes.add_table(),și conectori vizuali între forme prin slide.shapes.add_connector().
  • Formatare text îmbogățit:Formatează textul la nivel de caracter cu PortionFormat:dimensiunea fontului, îngroșat, cursiv, subliniat și culoarea ARGB prin FillType.SOLID și Color.from_argb().
  • Tipuri de umplere:Aplică FillType.SOLID, GRADIENT, PATTERN, sau PICTURE umpleri la orice formă.
  • Efecte vizuale: Umbra exterioară, strălucire, margine moale, estompare, reflexie și umbra interioară prin shape.effect_format.
  • 3D formatting: Bisel, cameră, sistem de iluminare, material și adâncime de extrudare prin shape.three_d_format.
  • Note ale prezentatorului: Atașează textul notelor la fiecare diapozitiv prin notes_slide_manager.add_notes_slide().
  • Comentarii în fir: Adaugă comentarii cu metadatele autorului și poziția diapozitivului.
  • Imagini încorporate: Încorporează din calea fișierului, octeți sau io.BytesIO flux.
  • Proprietăți ale documentului: Citește și scrie proprietăți core, app și custom.

Începeți

Instalați de pe PyPI. Python 3.10 sau o versiune ulterioară este necesară; lxml se instalează automat.

pip install aspose-slides-foss

Creați prima prezentare cu o formă și salvați-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)

Folosiți întotdeauna Presentation în interiorul unui with bloc; aceasta asigură eliberarea tuturor resurselor interne când blocul se încheie.

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 ridică 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
  • Hiperlinkuri, 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 exact la salvare, astfel încât fișierele PPTX produse de alte instrumente să poată fi reutilizate în siguranță.

Vezi și