Domande frequenti

Domande frequenti

Domande Frequenti

Come installo Aspose.Slides FOSS?

Installa da NuGet usando la .NET CLI. È richiesto .NET 9.0 o versioni successive.

dotnet add package Aspose.Slides.Foss

Verifica l’installazione:

using Aspose.Slides.Foss;

using var prs = new Presentation();
Console.WriteLine($"Slides: {prs.Slides.Count}");

Non è necessario Microsoft Office né altri runtime di sistema.


Perché devo usare using var prs = new Presentation();?

La classe Presentation implementa IDisposable e gestisce risorse XML interne. Senza un’istruzione using, tali risorse non vengono rilasciate quando l’oggetto Presentation esce dal contesto, il che può causare perdite di risorse o blocchi di file.

Segui sempre questo modello:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation("input.pptx");
// work here
prs.Save("output.pptx", SaveFormat.Pptx);

In quali formati di file posso salvare?

L’enum SaveFormat definisce costanti per molti formati — Pptx, Pdf, Html, Svg, Jpeg, Png e altri — per la compatibilità API con l’edizione commerciale. A runtime in questa edizione FOSS, tutti gli overload Save() ignorano l’argomento del formato e scrivono sempre output PPTX. Passare SaveFormat.Pdf compila correttamente ma produce un file .pptx, non un .pdf.

using Aspose.Slides.Foss.Export;

prs.Save("output.pptx", SaveFormat.Pptx);

L’esportazione in formati non PPTX non è funzionalmente disponibile in questa edizione. Usa SaveFormat.Pptx per tutte le operazioni di salvataggio.


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

La libreria supporta principalmente .pptx (Office Open XML). Il costruttore Presentation accetta un percorso file .ppt e rileverà il formato, ma l’analisi affidabile dei file binari .ppt non è garantita e non è un caso d’uso supportato in questa edizione. Utilizzare i file .pptx per tutti gli scenari di produzione.


Come accedo alle diapositive?

Le diapositive sono una raccolta indicizzata a zero accessibile tramite prs.Slides:

var firstSlide = prs.Slides[0];
int slideCount = prs.Slides.Count;

Come aggiungo una seconda diapositiva?

Usa prs.Slides.AddEmptySlide() con un layout:

using var prs = new Presentation();
var layout = prs.LayoutSlides[0];
prs.Slides.AddEmptySlide(layout);
var slide2 = prs.Slides[1];
prs.Save("two-slides.pptx", SaveFormat.Pptx);

Come impostare il colore di sfondo della diapositiva?

Il riempimento di sfondo non è disponibile in questa versione.


Come utilizzo NullableBool?

NullableBool è un enum a tre stati usato per le proprietà di formattazione. Usa NullableBool.True (non il true di C#) per grassetto, corsivo e proprietà simili:

using Aspose.Slides.Foss;

fmt.FontBold = NullableBool.True;
fmt.FontItalic = NullableBool.False;
fmt.FontUnderline = TextUnderlineType.Single;

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

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

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;

fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(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.


La libreria supporta .NET 8?

No. È necessario .NET 9.0 o versioni successive.


Questa libreria è thread‑safe?

Ogni oggetto Presentation è indipendente. Creare e utilizzare istanze separate di Presentation da thread distinti è sicuro purché non si condivida un singolo oggetto Presentation tra i thread senza un blocco esterno.


Come incorporare un’immagine?

Leggi i byte dell’immagine e aggiungili a prs.Images, quindi crea un PictureFrame:

byte[] imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 200, 150, image);

Vedi anche

 Italiano