1. Productos
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS para Java

Crea, lee y edita presentaciones PowerPoint desde Java — gratuito y de código abierto, sin dependencia de Office.

Biblioteca Java de código abierto para presentaciones PowerPoint

Aspose.Slides FOSS para Java es una biblioteca pure-Java bajo licencia MIT para trabajar con archivos .pptx de PowerPoint. Añade una única dependencia de Maven y comienza inmediatamente a crear, leer y editar presentaciones sin instalar Microsoft Office ni ningún runtime propietario.

La biblioteca expone una API de Presentación construida alrededor de Presentation, Slide, Shape, TextFrame, Paragraph y Portion, el modelo conceptual utilizado por PowerPoint mismo. Añade y elimina diapositivas, inserta AutoShapes, Tables y Connectors, formatea texto a nivel de carácter con negrita, cursiva, tamaño de fuente y color, aplica rellenos sólidos o degradados, y agrega efectos visuales (sombra, resplandor, desenfoque, reflejo).

La clase Presentation implementa AutoCloseable, así que use try-with-resources para una limpieza fiable. Las partes desconocidas de XML encontradas durante la carga se conservan literalmente al guardar, de modo que el round-tripping nunca destruye contenido que la biblioteca aún no entiende. Para funciones adicionales y soporte, consulte Aspose.Slides for Java enterprise edition.

API de presentaciones y diapositivas

  • Crear y abrir PPTX: Crear nuevas presentaciones o abrir archivos .pptx existentes mediante new Presentation() o new Presentation(path).
  • Agregar y eliminar diapositivas: Administrar programáticamente el SlideCollection con addClone(), addEmptySlide(), remove() y removeAt().
  • AutoShapes: Inserte rectángulos, elipses, líneas y otras geometrías ShapeType mediante addAutoShape().
  • Tablas y Conectores: Añadir formas de tabla estructuradas y líneas de conector entre formas mediante addConnector().
  • Notas del presentador: Lea y escriba notas del presentador por diapositiva a través de NotesSlideManager.
  • Comentarios en hilos: Acceda a los hilos de comentarios a nivel de diapositiva con getSlideComments().

Dónde se puede usar Aspose.Slides FOSS

  • Report generation: Cree presentaciones de diapositivas con marca a partir de fuentes de datos sin Office.
  • Automatización de plantillas: Rellene plantillas PPTX con contenido dinámico en pipelines CI/CD.
  • Migración de contenido: Leer presentaciones existentes y reestructurar o volver a diseñar las diapositivas.
  • Backends sin servidor: Procesa archivos PPTX dentro de contenedores Docker o funciones Lambda.
  • Procesamiento por lotes: Aplicar cambios de formato uniformes en grandes bibliotecas de presentaciones.

Formato de texto y efectos visuales

  • Formato a nivel de carácter: Aplicar negrita, cursiva, tamaño de fuente y color a objetos individuales Portion mediante getPortionFormat().
  • Rellenos sólidos y degradados: Establezca el relleno de la forma a un color sólido o un degradado lineal de varios puntos usando getFillFormat() y FillType.
  • Efectos de sombra y resplandor: Aplica sombra externa, resplandor, desenfoque y reflexión a cualquier forma a través de getEffectFormat().
  • Alineación de párrafo: Establezca la alineación izquierda, centrada, derecha o justificada por párrafo usando getParagraphFormat().setAlignment().
  • Round-trip safe: Los componentes desconocidos XML se conservan literalmente al volver a guardar.

Experiencia del desarrollador

Aspose.Slides FOSS se instala con una única dependencia Maven (org.aspose.slides.foss:aspose-slides-foss). La biblioteca es pura Java sin extensiones nativas que compilar y sin paquetes del sistema que instalar.

La API refleja el propio modelo de objetos de PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), por lo que cualquiera familiarizado con el modelo de objetos de PowerPoint puede usar la biblioteca de inmediato. Tiene licencia MIT, es de código abierto en GitHub y requiere JDK 21 o posterior.

Crear una presentación y añadir una forma

Utilice try-with-resources para garantizar que el Presentation siempre se cierre y se liberen los recursos. addAutoShape() recibe un enum ShapeType, luego la posición x/y y el ancho/alto en puntos. Llame a addTextFrame() para crear el marco de texto y establecer el texto inicial en una sola llamada — no llame a getTextFrame() antes de addTextFrame() ya que el marco es nulo hasta que se cree.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
import org.aspose.slides.foss.*;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

Formatear texto y aplicar un efecto de relleno

La formateo de texto funciona a nivel de Portion — la unidad más pequeña de una secuencia de caracteres. Abra el archivo guardado, navegue a la primera porción del primer párrafo y establezca las propiedades de la fuente mediante getters y setters. El relleno de la forma es independiente: establezca FillType a SOLID y asigne un color mediante getSolidFillColor().setColor().

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 

Preguntas frecuentes

¿Qué es Aspose.Slides FOSS para Java?

Es una biblioteca gratuita, con licencia MIT, pure-Java para crear, leer y editar presentaciones .pptx de PowerPoint sin requerir Microsoft Office.

¿Qué formatos de archivo son compatibles?

.pptx es el formato de lectura/escritura compatible. La exportación a PDF, HTML, SVG o imágenes no está disponible en esta edición.

¿Requiere Microsoft Office o PowerPoint?

No. Aspose.Slides FOSS es una biblioteca pure-Java sin dependencia de Microsoft Office, automatización COM, o cualquier tiempo de ejecución propietario.

¿Cómo lo instalo?

Agregue la dependencia Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 a su proyecto. No se requieren paquetes del sistema adicionales ni extensiones nativas. Se requiere JDK 21 o posterior.

¿Puedo aplicar efectos visuales como sombra y resplandor?

Sí. La biblioteca admite efectos de sombra externa, resplandor, desenfoque y reflexión en cualquier objeto de forma a través de la API EffectFormat.

¿Se recomienda el patrón try-with-resources?

Sí. Presentation implementa AutoCloseable, por lo que siempre debe usar try (Presentation prs = new Presentation()) { ... } para una limpieza de recursos fiable.

¿El round-tripping de un PPTX destruirá contenido desconocido?

No. Las partes desconocidas de XML encontradas durante la carga se conservan literalmente al guardar, de modo que el contenido que la biblioteca aún no comprende nunca se pierde.

¿Dónde puedo encontrar el código fuente?

La biblioteca tiene licencia MIT y está alojada en GitHub. Se agradecen los informes de errores y las solicitudes de extracción.

  

Recursos de soporte y aprendizaje

 Español