Vanliga frågor

Vanliga frågor

Hur installerar jag Aspose.Slides FOSS?

Installera från PyPI med pip. Python 3.10 eller senare krävs.

pip install aspose-slides-foss

Verifiera installationen:

import aspose.slides_foss as slides
with slides.Presentation() as prs:
    print(f"Slides: {len(prs.slides)}")

lxml-beroendet installeras automatiskt. Varken Microsoft Office eller någon annan systemruntime krävs.


Varför måste jag använda with slides.Presentation() as prs:?

Klassen Presentation hanterar interna filhandtag och XML‑resurser. Utan kontext‑hanteraren frigörs inte dessa resurser när objektet Presentation går ur scope, vilket kan orsaka resursläckor eller fillås på Windows.

Följ alltid detta mönster:

with slides.Presentation("input.pptx") as prs:
    # work here
    prs.save("output.pptx", SaveFormat.PPTX)

Vilka filformat kan jag spara till?

SaveFormat-enumet definierar konstanter för många format — PPTX, PDF, HTML, SVG, JPEG, PNG och andra — för API‑kompatibilitet med den kommersiella utgåvan. Vid körning i denna FOSS‑utgåva ignorerar alla save()‑anrop formatargumentet och skriver alltid PPTX‑utdata. Att skicka SaveFormat.PDF kompilerar och körs utan fel men producerar en .pptx‑fil, inte en .pdf.

from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)

Export till icke‑PPTX‑format är inte funktionellt tillgängligt i den här utgåvan. Använd SaveFormat.PPTX för alla sparoperationer.


Kan jag öppna .ppt (gamla PowerPoint 97–2003) filer?

Nej. Endast .pptx (Office Open XML) filer stöds. Äldre .ppt binärt format hanteras inte av detta bibliotek.


Hur får jag åtkomst till bilderna?

Slides är en nollbaserad lista som är åtkomlig via prs.slides:

first_slide = prs.slides[0]
slide_count = len(prs.slides)

Hur lägger jag till en andra bild?

Använd prs.slides.add_empty_slide() med en layout:

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)

Hur ställer jag in bakgrundsfärgen på bilden?

Bakgrundsfärgning av bildspel är inte tillgänglig i den här utgåvan. Klassen Slide exponerar inte en background-egenskap. Att försöka slide.background kommer att utlösa AttributeError. Denna funktion är inte implementerad i den aktuella versionen.


Hur använder jag NullableBool?

NullableBool är en tri‑state‑enum som används för formateringsegenskaper. Använd NullableBool.TRUE (inte Pythons True) för fetstil, kursiv och liknande egenskaper:

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 theme

Varför har inte inställning av textfärg någon effekt?

Du måste också ställa in fill_type = FillType.SOLID innan du tilldelar färgen:

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 jag använda diagram eller SmartArt?

Nej. Diagram, SmartArt, OLE‑objekt, animationer, övergångar, hyperlänkar, VBA‑makron och digitala signaturer är inte implementerade i den här utgåvan och ger NotImplementedError.


Stöder biblioteket Python 3.9?

Nej. Python 3.10 eller senare krävs.


Är detta bibliotek trådsäkert?

Varje Presentation-objekt är oberoende. Att skapa och använda separata Presentation-instanser från separata trådar är säkert så länge du inte delar ett enda Presentation-objekt mellan trådar utan extern låsning.


Hur bäddar jag in en bild?

Läs bildens byte och lägg till dem i prs.images, skapa sedan en 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)

Se även

 Svenska