Cómo comenzar con Aspose.Slides FOSS para Java
aspose-slides-foss para Java es una biblioteca gratuita, con licencia MIT, para crear y editar archivos PowerPoint .pptx — no se requiere Microsoft Office, disponible en Maven Central.
Guía paso a paso
Paso 1: Añadir la dependencia de Maven
Agrega la dependencia 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 que el paquete se resuelva correctamente al compilar el proyecto:
mvn dependency:resolvePaso 2: Importar clases requeridas
Importa las clases que necesitas para cargar presentaciones y guardarlas:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;Paso 3: Crear una presentación
Construya un Presentation sin argumentos para comenzar con una diapositiva en blanco. Siempre use try‑with‑resources para garantizar que los recursos internos se liberen:
import org.aspose.slides.foss.Presentation;
try (Presentation prs = new Presentation()) {
System.out.println("Slides: " + prs.getSlides().size());
prs.save("new_presentation.pptx");
}Paso 4: Añadir una forma con texto
Utilice slide.getShapes().addAutoShape() para insertar un rectángulo, luego llame a addTextFrame()
para agregar contenido de texto:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.NullableBool;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 150
);
ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS!");
IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
fmt.setFontHeight(24);
fmt.setFontBold(NullableBool.TRUE);
prs.save("with_shape.pptx");
}Paso 5: Aplicar un relleno y guardar
Establezca un color de relleno sólido en la forma antes de guardar:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
ShapeType.RECTANGLE, 100, 100, 400, 200
);
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor().setColor(new Color(70, 130, 180));
shape.addTextFrame("Styled shape");
prs.save("styled.pptx");
}Problemas comunes y soluciones
ClassNotFoundException para org.aspose.slides.foss.Presentation
La dependencia de Maven no se resuelve. Ejecute mvn dependency:resolve y compruebe que el artefacto está disponible en Maven Central. Verifique la versión en pom.xml.
UnsupportedOperationException al llamar a ciertos métodos
Algunas funciones (gráficos, animaciones, exportación a PDF) lanzan UnsupportedOperationException
en esta versión. Consulte la sección de limitaciones conocidas de la referencia de la API antes de usar
funciones avanzadas.
Las coordenadas de la forma parecen incorrectas
Las coordenadas y dimensiones están en EMU (Unidades Métricas Inglesas). Un punto equivale aproximadamente a 12700 EMU. La diapositiva predeterminada es de 9144000 × 6858000 EMU.
Archivo no encontrado al cargar un PPTX existente
Proporcione una ruta absoluta o asegúrese de que el directorio de trabajo esté configurado correctamente:
import java.nio.file.Paths;
String path = Paths.get("presentations", "existing.pptx").toAbsolutePath().toString();
try (Presentation prs = new Presentation(path)) { ... }Preguntas Frecuentes
¿Requiere aspose‑slides‑foss Microsoft Office?
No. La biblioteca crea y lee archivos .pptx de forma nativa en Java puro sin dependencia de Microsoft Office, automatización COM o API de Windows.
¿Qué versiones de Java son compatibles?
Java 21 o posterior. La biblioteca se ejecuta en Windows, macOS, Linux y contenedores Docker.
¿La biblioteca es gratuita para uso comercial?
Sí. Está publicado bajo la Licencia MIT. Puede usar, modificar y redistribuirlo para cualquier propósito, incluidas aplicaciones comerciales.
¿Puedo cargar un archivo PPTX existente?
Sí. Pase la ruta del archivo al constructor Presentation:
try (Presentation prs = new Presentation("existing.pptx")) {
System.out.println("Loaded " + prs.getSlides().size() + " slides");
prs.save("copy.pptx");
}¿Necesito cerrar la Presentación explícitamente?
Sí. Presentation implementa AutoCloseable. Siempre use try-with-resources
(try (Presentation prs = new Presentation()) { ... }) para garantizar la limpieza.