Domande frequenti

Domande frequenti

Domande frequenti

Come installo Aspose.Slides FOSS?

Installa da PyPI usando pip. È richiesto Python 3.10 o versioni successive.

pip install aspose-slides-foss

Verifica l’installazione:

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

La dipendenza lxml viene installata automaticamente. Non è necessario Microsoft Office né altri runtime di sistema.


Perché devo usare with slides.Presentation() as prs:?

La classe Presentation gestisce i handle di file interni e le risorse XML. Senza il gestore di contesto, tali risorse non vengono rilasciate quando l’oggetto Presentation esce dallo scope, il che può causare perdite di risorse o blocchi di file su Windows.

Segui sempre questo modello:

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

Quali formati di file posso salvare?

Solo PPTX è supportato:

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

L’esportazione in PDF, HTML, SVG o formati immagine (PNG, JPEG) non è disponibile in questa edizione.


Posso aprire i file .ppt (vecchi PowerPoint 97–2003)?

No. Sono supportati solo i file .pptx (Office Open XML). Il formato binario legacy .ppt non è gestito da questa libreria.


Come accedo alle diapositive?

Le diapositive sono un elenco indicizzato a zero accessibile tramite prs.slides:

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

Come aggiungo una seconda diapositiva?

Usa prs.slides.add_empty_slide() con un 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)

Come impostare il colore di sfondo della diapositiva?

La colorazione dello sfondo della diapositiva non è disponibile in questa edizione. La classe Slide non espone una proprietà background. Tentare slide.background genererà AttributeError. Questa funzionalità non è implementata nella versione corrente.


Come uso NullableBool?

NullableBool è un enum a tre stati usato per le proprietà di formattazione. Usa NullableBool.TRUE (non quello di Python True) per grassetto, corsivo e proprietà simili:

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

Perché impostare il colore del testo non ha alcun effetto?

Devi anche impostare fill_type = FillType.SOLID prima di assegnare il colore:

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)

Posso usare grafici o SmartArt?

No. Grafici, SmartArt, oggetti OLE, animazioni, transizioni, collegamenti ipertestuali, macro VBA e firme digitali non sono implementati in questa edizione e generano NotImplementedError.


La libreria supporta Python 3.9?

No. È necessario Python 3.10 o versioni successive.


Questa libreria è thread‑safe?

Ogni oggetto Presentation è indipendente. Creare e utilizzare istanze separate di Presentation da thread distinti è sicuro, a condizione di non condividere un singolo oggetto Presentation tra i thread senza un blocco esterno.


Come inserisco un’immagine?

Leggi i byte dell’immagine e aggiungili a prs.images, quindi crea 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)

Vedi anche

 Italiano