Preguntas frecuentes

Preguntas frecuentes

Preguntas frecuentes

¿Cómo instalo Aspose.Slides FOSS?

Instale desde NuGet usando la CLI de .NET. Se requiere .NET 9.0 o posterior.

dotnet add package Aspose.Slides.Foss

Verifique la instalación:

using Aspose.Slides.Foss;

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

No se requiere Microsoft Office ni otro tiempo de ejecución del sistema.


¿Por qué debo usar using var prs = new Presentation();?

La clase Presentation implementa IDisposable y gestiona recursos XML internos. Sin una declaración using, esos recursos no se liberan cuando el objeto Presentation sale del alcance, lo que puede provocar fugas de recursos o bloqueos de archivos.

Siempre sigue este patrón:

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

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

¿En qué formatos de archivo puedo guardar?

Solo PPTX es compatible:

using Aspose.Slides.Foss.Export;

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

La exportación a PDF, HTML, SVG o formatos de imagen (PNG, JPEG) no está disponible en esta edición.


¿Puedo abrir .ppt (archivos antiguos de PowerPoint 97-2003)?

La biblioteca admite principalmente .pptx (Office Open XML). El constructor Presentation acepta una ruta de archivo .ppt y detectará el formato, pero el análisis fiable de archivos binarios .ppt no está garantizado y no es un caso de uso admitido en esta edición. Utilice archivos .pptx para todos los escenarios de producción.


¿Cómo accedo a las diapositivas?

Las diapositivas son una colección basada en cero accesible a través de prs.Slides:

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

¿Cómo añado una segunda diapositiva?

Utilice prs.Slides.AddEmptySlide() con un diseño:

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);

¿Cómo establezco el color de fondo de la diapositiva?

El relleno de fondo no está disponible en esta versión.


¿Cómo utilizo NullableBool?

NullableBool es un enum de tres estados utilizado para propiedades de formato. Use NullableBool.True (no el true de C#) para negrita, cursiva y propiedades similares:

using Aspose.Slides.Foss;

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

¿Por qué establecer el color del texto no tiene efecto?

También debe establecer FillType = FillType.Solid antes de asignar el color:

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

fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 200, 0, 0);

¿Puedo usar gráficos o SmartArt?

No. Los gráficos, SmartArt, objetos OLE, animaciones, transiciones, hipervínculos, macros VBA y firmas digitales no están implementados en esta edición.


¿La biblioteca es compatible con .NET 8?

No. Se requiere .NET 9.0 o posterior.


¿Esta biblioteca es segura para subprocesos?

Cada objeto Presentation es independiente. Crear y usar instancias separadas de Presentation desde hilos diferentes es seguro siempre que no comparta un único objeto Presentation entre hilos sin un bloqueo externo.


¿Cómo incrusto una imagen?

Lea los bytes de la imagen y añádalos a prs.Images, luego cree un PictureFrame:

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

Ver también

 Español