Preguntas frecuentes
Preguntas Frecuentes
¿Cómo instalo Aspose.Slides FOSS?
Agrega la dependencia de Maven a tu pom.xml. Se requiere Java 21 o posterior.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Verifique la instalación:
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
try {
System.out.println("Slides: " + prs.getSlides().size());
} finally {
prs.dispose();
}No se requiere Microsoft Office ni otro tiempo de ejecución del sistema.
¿Por qué debo llamar dispose() en Presentation?
La clase Presentation gestiona los recursos internos del paquete OPC. Sin llamar a dispose(), esos recursos no se liberan, lo que puede provocar fugas de memoria o bloqueos de archivos. Siempre use try-finally:
Presentation prs = new Presentation("input.pptx");
try {
// work here
prs.save("output.pptx", SaveFormat.PPTX);
} finally {
prs.dispose();
}Alternativamente, use try-with-resources ya que Presentation implementa AutoCloseable:
try (Presentation prs = new Presentation("input.pptx")) {
prs.save("output.pptx", SaveFormat.PPTX);
}¿En qué formatos de archivo puedo guardar?
Solo PPTX es compatible:
import org.aspose.slides.foss.export.SaveFormat;
prs.save("output.pptx", SaveFormat.PPTX);Exportar a PDF, HTML, SVG o formatos de imagen (PNG, JPEG) no está disponible en esta edición.
¿Puedo abrir .ppt (PowerPoint antiguo 97-2003) archivos?
No. Sólo los archivos .pptx (Office Open XML) son compatibles. El formato binario heredado .ppt no es manejado por esta biblioteca.
¿Cómo accedo a las diapositivas?
Las diapositivas son una colección indexada desde cero accesible a través de prs.getSlides():
ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();¿Cómo añado una segunda diapositiva?
Utilice prs.getSlides().addEmptySlide() con un diseño:
try (Presentation prs = new Presentation()) {
ILayoutSlide layout = prs.getLayoutSlides().get(0);
prs.getSlides().addEmptySlide(layout);
ISlide slide2 = prs.getSlides().get(1);
prs.save("two-slides.pptx", SaveFormat.PPTX);
}¿Cómo establezco el color de fondo de la diapositiva?
El color de fondo de la diapositiva no es compatible en esta edición de Aspose.Slides FOSS. No existe el método getBackground() en ISlide ni en ninguna otra clase de esta biblioteca. El fondo de la diapositiva está fijado cuando la presentación se crea a partir de su plantilla. Una edición futura podría añadir control de fondo.
¿Cómo utilizo NullableBool?
NullableBool es una enumeración de tres estados utilizada para propiedades de formato. Use NullableBool.TRUE (no el true de Java) para negrita, cursiva y propiedades similares:
import org.aspose.slides.foss.NullableBool;
fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);¿Por qué al establecer el color del texto no tiene efecto?
También debe establecer fillType en FillType.SOLID antes de asignar el color:
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(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 y generan UnsupportedOperationException.
¿La 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 sincronización externa.
¿Cómo incrusto una imagen?
Lea los bytes de la imagen y añádalos a prs.getImages(), luego cree un PictureFrame:
import org.aspose.slides.foss.ShapeType;
byte[] imageData = java.nio.file.Files.readAllBytes(
java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);