Întrebări frecvente
Întrebări frecvente
Cum instalez Aspose.Slides FOSS?
Instalați de pe PyPI utilizând pip. Este necesar Python 3.10 sau o versiune ulterioară.
pip install aspose-slides-fossVerificați instalarea:
import aspose.slides_foss as slides
with slides.Presentation() as prs:
print(f"Slides: {len(prs.slides)}")Dependența lxml este instalată automat. Nu este necesar Microsoft Office sau alt runtime de sistem.
De ce trebuie să folosesc with slides.Presentation() as prs:?
Clasa Presentation gestionează handle-urile interne de fișiere și resursele XML. Fără managerul de context, acele resurse nu sunt eliberate când obiectul Presentation iese din domeniu, ceea ce poate provoca scurgeri de resurse sau blocări de fișiere pe Windows.
Urmărește întotdeauna acest model:
with slides.Presentation("input.pptx") as prs:
# work here
prs.save("output.pptx", SaveFormat.PPTX)În ce formate de fișiere pot salva?
Enumul SaveFormat definește constante pentru multe formate — PPTX, PDF, HTML, SVG, JPEG, PNG și altele — pentru compatibilitatea API cu ediția comercială. La rulare în această ediție FOSS, toate apelurile save() ignoră argumentul de format și scriu întotdeauna ieșire PPTX. Transmiterea SaveFormat.PDF compilează și rulează fără eroare, dar produce un fișier .pptx, nu un .pdf.
from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)Exportul în formate non‑PPTX nu este disponibil funcțional în această ediție. Utilizaţi SaveFormat.PPTX pentru toate operaţiunile de salvare.
Pot să deschid fișierele .ppt (PowerPoint vechi 97–2003)?
Nu. Doar fișierele .pptx (Office Open XML) sunt acceptate. Formatul binar legacy .ppt nu este gestionat de această bibliotecă.
Cum accesez diapozitivele?
Diapozitivele sunt o listă indexată de la zero accesibilă prin prs.slides:
first_slide = prs.slides[0]
slide_count = len(prs.slides)Cum adaug un al doilea diapozitiv?
Utilizați prs.slides.add_empty_slide() cu un aspect:
with slides.Presentation() as prs:
layout = prs.layout_slides[0]
prs.slides.add_empty_slide(layout)
slide2 = prs.slides[1]
prs.save("two-slides.pptx", SaveFormat.PPTX)Cum pot seta culoarea de fundal a diapozitivului?
Colorarea fundalului diapozitivului nu este disponibilă în această ediție. Clasa Slide nu expune o proprietate background. Încercarea slide.background va genera AttributeError. Această funcționalitate nu este implementată în versiunea curentă.
Cum pot folosi NullableBool?
NullableBool este un enum cu trei stări utilizat pentru proprietăți de formatare. Folosiți NullableBool.TRUE (nu enum-ul Python True) pentru îngroșare, cursiv și proprietăți similare:
from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED # inherits from themeDe ce setarea culorii textului nu are niciun efect?
Trebuie să setați și fill_type = FillType.SOLID înainte de a atribui culoarea:
from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)Pot să folosesc diagrame sau SmartArt?
Nu. Graficele, SmartArt, obiectele OLE, animațiile, tranzițiile, hyperlink-urile, macro-urile VBA și semnăturile digitale nu sunt implementate în această ediție și generează NotImplementedError.
Suportă biblioteca Python 3.9?
Nu. Este necesar Python 3.10 sau o versiune ulterioară.
Este această bibliotecă sigură pentru fire de execuție?
Fiecare obiect Presentation este independent. Crearea și utilizarea de instanțe separate Presentation din fire de execuție separate este sigură atâta timp cât nu partajaţi un singur obiect Presentation între fire fără blocare externă.
Cum pot încorpora o imagine?
Citește octeții imaginii și adaugă-i la prs.images, apoi creează un PictureFrame:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)