Veelgestelde vragen
Veelgestelde vragen
Hoe installeer ik Aspose.Slides FOSS?
Installeer vanaf PyPI met pip. Python 3.10 of hoger is vereist.
pip install aspose-slides-fossControleer de installatie:
import aspose.slides_foss as slides
with slides.Presentation() as prs:
print(f"Slides: {len(prs.slides)}")De lxml‑afhankelijkheid wordt automatisch geïnstalleerd. Er is geen Microsoft Office of andere systeemruntime vereist.
Waarom moet ik with slides.Presentation() as prs: gebruiken?
De Presentation‑klasse beheert interne bestands‑handles en XML‑bronnen. Zonder de contextmanager worden die bronnen niet vrijgegeven wanneer het Presentation‑object buiten de scope valt, wat kan leiden tot resource‑lekken of bestandsvergrendelingen op Windows.
Volg altijd dit patroon:
with slides.Presentation("input.pptx") as prs:
# work here
prs.save("output.pptx", SaveFormat.PPTX)Naar welke bestandsformaten kan ik opslaan?
De SaveFormat enum definieert constanten voor vele formaten — PPTX, PDF, HTML, SVG, JPEG, PNG, en andere — voor API‑compatibiliteit met de commerciële editie. Tijdens runtime in deze FOSS‑editie negeren alle save()‑aanroepen het formaatargument en schrijven ze altijd PPTX‑output. Het doorgeven van SaveFormat.PDF compileert en draait zonder fout, maar produceert een .pptx‑bestand, geen .pdf.
from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)Exporteren naar niet‑PPTX‑formaten is functioneel niet beschikbaar in deze editie. Gebruik SaveFormat.PPTX voor alle opslaanbewerkingen.
Kan ik .ppt (oude PowerPoint 97–2003) bestanden openen?
Nee. Alleen .pptx (Office Open XML) bestanden worden ondersteund. Het legacy .ppt binaire formaat wordt niet door deze bibliotheek verwerkt.
Hoe krijg ik toegang tot de dia’s?
Dia’s zijn een nulgebaseerde lijst die toegankelijk is via prs.slides:
first_slide = prs.slides[0]
slide_count = len(prs.slides)Hoe voeg ik een tweede dia toe?
Gebruik prs.slides.add_empty_slide() met een lay-out:
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)Hoe stel ik de achtergrondkleur van de dia in?
Slide‑achtergrondkleuring is niet beschikbaar in deze editie. De Slide‑klasse biedt geen background‑eigenschap. Het proberen van slide.background zal AttributeError veroorzaken. Deze functie is niet geïmplementeerd in de huidige versie.
Hoe gebruik ik NullableBool?
NullableBool is een drie‑state enum die wordt gebruikt voor opmaak‑eigenschappen. Gebruik NullableBool.TRUE (niet de Python‑True) voor vet, cursief en soortgelijke eigenschappen:
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 themeWaarom heeft het instellen van de tekstkleur geen effect?
U moet ook fill_type = FillType.SOLID instellen voordat u de kleur toewijst:
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)Kan ik grafieken of SmartArt gebruiken?
Nee. Charts, SmartArt, OLE-objecten, animaties, overgangen, hyperlinks, VBA-macro’s en digitale handtekeningen zijn niet geïmplementeerd in deze editie en veroorzaken NotImplementedError.
Ondersteunt de bibliotheek Python 3.9?
Nee. Python 3.10 of hoger is vereist.
Is deze bibliotheek thread‑safe?
Elk Presentation object is onafhankelijk. Het creëren en gebruiken van afzonderlijke Presentation instanties vanuit afzonderlijke threads is veilig, zolang je geen enkel Presentation object over threads deelt zonder externe vergrendeling.
Hoe embed ik een afbeelding?
Lees de afbeeldingsbytes en voeg ze toe aan prs.images, maak vervolgens een PictureFrame aan:
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)