Add Rectangles to Presentations in Java

Add a Rectangle to a Slide

To add a simple rectangle to a selected slide of the presentation, please follow the steps below:

In the example given below, we have added a simple rectangle to the first slide of the presentation.

// Instantiate Prseetation class that represents the PPTX
Presentation pres = new Presentation();
try {
    // Get the first slide
    ISlide sld = pres.getSlides().get_Item(0);

    // Add AutoShape of ellipse type
    IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50);

    // Write the PPTX file to disk
    pres.save("RecShp1.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Add a Formatted Rectangle to a Slide

To add a formatted rectangle to a slide, please follow the steps below:

  • Create an instance of Presentation class.
  • Obtain the reference of a slide by using its Index.
  • Add an IAutoShape of Rectangle type using addAutoShape method exposed by IShapeCollection object.
  • Set the Fill Type of the Rectangle to Solid.
  • Set the Color of the Rectangle using SolidFillColor.setColor method as exposed by IFillFormat object associated with the IShape object.
  • Set the Color of the lines of the Rectangle.
  • Set the Width of the lines of the Rectangle.
  • Write the modified presentation as PPTX file.

The above steps are implemented in the example given below.

// Instantiate Prseetation class that represents the PPTX
Presentation pres = new Presentation();
try {
    // Get the first slide
    ISlide sld = pres.getSlides().get_Item(0);

    // Add AutoShape of ellipse type
    IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50);

    // Apply some formatting to ellipse shape
    shp.getFillFormat().setFillType(FillType.Solid);
    shp.getFillFormat().getSolidFillColor().setColor(Color.GRAY);

    // Apply some formatting to the line of Ellipse
    shp.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    shp.getLineFormat().setWidth(5);

    // Write the PPTX file to disk
    pres.save("RecShp2.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

How do I add a rectangle with rounded corners?

Use the rounded-corner shape type and adjust the corner radius in the shape’s properties; rounding can also be applied per corner via geometry adjustments.

How do I fill a rectangle with an image (texture)?

Select the picture fill type, provide the image source, and configure stretching/tiling modes.

Can a rectangle have shadow and glow?

Yes. Outer/inner shadow, glow, and soft edges are available with adjustable parameters.

Can I turn a rectangle into a button with a hyperlink?

Yes. Assign a hyperlink to the shape click (jump to a slide, file, web address, or e-mail).

How can I protect a rectangle from moving and changes?

Use shape locks: you can forbid moving, resizing, selection, or text editing to preserve the layout.

Can I convert a rectangle to a raster image or SVG?

Yes. You can render the shape to an image with a specified size/scale or export it as SVG for vector use.

How do I quickly get the actual (effective) properties of a rectangle considering theme and inheritance?

Use the shape’s effective properties: the API returns computed values that account for theme styles, layout, and local settings, simplifying formatting analysis.