Perguntas Frequentes
Perguntas Frequentes
Como faço para instalar o Aspose.Slides FOSS?
Instale a partir do NuGet usando a .NET CLI. .NET 9.0 ou posterior é necessário.
dotnet add package Aspose.Slides.FossVerifique a instalação:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine($"Slides: {prs.Slides.Count}");Nenhum Microsoft Office ou outro runtime de sistema é necessário.
Por que devo usar using var prs = new Presentation();?
A classe Presentation implementa IDisposable e gerencia recursos XML internos. Sem uma using, esses recursos não são liberados quando o objeto Presentation sai do escopo, o que pode causar vazamentos de recursos ou bloqueios de arquivos.
Sempre siga este padrão:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation("input.pptx");
// work here
prs.Save("output.pptx", SaveFormat.Pptx);Em quais formatos de arquivo posso salvar?
Apenas PPTX é suportado:
using Aspose.Slides.Foss.Export;
prs.Save("output.pptx", SaveFormat.Pptx);Exportar para PDF, HTML, SVG ou formatos de imagem (PNG, JPEG) não está disponível nesta edição.
Posso abrir arquivos .ppt (old PowerPoint 97-2003)?
A biblioteca suporta principalmente .pptx (Office Open XML). O construtor Presentation aceita um caminho de arquivo .ppt e detectará o formato, mas a análise confiável de arquivos binários .ppt não é garantida e não é um caso de uso suportado nesta edição. Use arquivos .pptx para todos os cenários de produção.
Como acesso os slides?
Os slides são uma coleção indexada a partir de zero acessível via prs.Slides:
var firstSlide = prs.Slides[0];
int slideCount = prs.Slides.Count;Como adiciono um segundo slide?
Use prs.Slides.AddEmptySlide() com um 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);Como defino a cor de fundo do slide?
O preenchimento de fundo não está disponível nesta versão.
Como uso NullableBool?
NullableBool é um enum de três estados usado para propriedades de formatação. Use NullableBool.True (não o true do C#) para negrito, itálico e propriedades semelhantes:
using Aspose.Slides.Foss;
fmt.FontBold = NullableBool.True;
fmt.FontItalic = NullableBool.False;
fmt.FontUnderline = TextUnderlineType.Single;Por que definir a cor do texto não tem efeito?
Você também deve definir FillType = FillType.Solid antes de atribuir a cor:
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 usar gráficos ou SmartArt?
Não. Gráficos, SmartArt, objetos OLE, animações, transições, hyperlinks, macros VBA e assinaturas digitais não foram implementados nesta edição.
A biblioteca suporta .NET 8?
Não. .NET 9.0 ou posterior é necessário.
Esta biblioteca é thread‑safe?
Cada objeto Presentation é independente. Criar e usar instâncias separadas de Presentation a partir de threads distintas é seguro, desde que você não compartilhe um único objeto Presentation entre threads sem bloqueio externo.
Como incorporo uma imagem?
Leia os bytes da imagem e adicione‑os a prs.Images, então crie um PictureFrame:
byte[] imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 200, 150, image);