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-fossVerifica 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 themePerché 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)