Agregar rectángulos a presentaciones en Java

Agregar un Rectangle a una diapositiva

  • Cree una instancia de la clase Presentation.
  • Obtenga la referencia de una diapositiva mediante su índice.
  • Agregue un IAutoShape de tipo Rectangle usando el método addAutoShape expuesto por el objeto IShapeCollection.
  • Guarde la presentación modificada como un archivo PPTX.

En el ejemplo que se muestra a continuación, hemos añadido un rectangle simple a la primera diapositiva de la presentación.

// Instanciar la clase Prseetation que representa el PPTX
Presentation pres = new Presentation();
try {
    // Obtener la primera diapositiva
    ISlide sld = pres.getSlides().get_Item(0);

    // Añadir AutoShape de tipo elipse
    IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50);

    // Grabar el archivo PPTX en disco
    pres.save("RecShp1.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Agregar un Rectangle formateado a una diapositiva

  • Cree una instancia de la clase Presentation.
  • Obtenga la referencia de una diapositiva mediante su índice.
  • Agregue un IAutoShape de tipo Rectangle usando el método addAutoShape expuesto por el objeto IShapeCollection.
  • Establezca el Fill Type del Rectangle a Solid.
  • Establezca el Color del Rectangle usando el método SolidFillColor.setColor expuesto por el objeto IFillFormat asociado al objeto IShape.
  • Establezca el Color de las líneas del Rectangle.
  • Establezca el Ancho de las líneas del Rectangle.
  • Guarde la presentación modificada como un archivo PPTX.

Los pasos anteriores se implementan en el ejemplo que se muestra a continuación.

// Instanciar la clase Prseetation que representa el PPTX
Presentation pres = new Presentation();
try {
    // Obtener la primera diapositiva
    ISlide sld = pres.getSlides().get_Item(0);

    // Añadir AutoShape de tipo elipse
    IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50);

    // Aplicar algo de formato a la forma elipse
    shp.getFillFormat().setFillType(FillType.Solid);
    shp.getFillFormat().getSolidFillColor().setColor(Color.GRAY);

    // Aplicar algo de formato a la línea del elipse
    shp.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    shp.getLineFormat().setWidth(5);

    // Grabar el archivo PPTX en disco
    pres.save("RecShp2.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

¿Cómo añado un rectangle con esquinas redondeadas?

Utilice el shape type de esquinas redondeadas y ajuste el radio de la esquina en las propiedades de la forma; el redondeo también puede aplicarse por esquina mediante ajustes de geometría.

¿Cómo lleno un rectangle con una imagen (textura)?

Seleccione el fill type de imagen, proporcione la fuente de la imagen y configure los modos de estiramiento/encolado.

¿Puede un rectangle tener sombra y resplandor?

Sí. Sombra externa/interna, resplandor y bordes suaves están disponibles con parámetros ajustables.

¿Puedo convertir un rectangle en un botón con hipervínculo?

Sí. Asigne un hipervínculo al clic de la forma (ir a una diapositiva, archivo, dirección web o correo electrónico).

¿Cómo puedo proteger un rectangle contra moverlo y cambios?

Utilice bloqueos de forma: puede prohibir el mover, redimensionar, seleccionar o editar texto para preservar el diseño.

¿Puedo convertir un rectangle a una imagen raster o SVG?

Sí. Puede renderizar la forma a una imagen con un tamaño/escala especificados o exportarla como SVG para uso vectorial.

¿Cómo obtengo rápidamente las propiedades reales (efectivas) de un rectangle considerando el tema y la herencia?

Utilice las propiedades efectivas de la forma: la API devuelve valores calculados que tienen en cuenta los estilos del tema, el diseño y la configuración local, simplificando el análisis de formato.