[Java] Adding Shadow Effects to Shapes in PowerPoint

NateBennett
2 min readDec 11, 2020

--

In a PowerPoint document, adding shadow effects to shapes can enhance the three-dimensional sense of these shapes and make them look more vivid. This article will introduce how to add shadow effects to shapes in PowerPoint by using Free Spire.Presentation for Java. In addition to the PresetShadowEffects shown in this article, you can also add InnerShadowEffect, OuterShadowEffect and SoftEdgeEffect, etc.

Installation
Method 1: Download the Free Spire.Presentation for Java and unzip it. Then add the Spire.Presentation.jar file to your project as dependency.

Method 2: You can also add the jar dependency to your maven project by adding the following configurations to the pom.xml.

<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.presentation.free</artifactId>
<version>3.9.0</version>
</dependency>
</dependencies>

Add Shadow Effect:

import com.spire.presentation.*;
import com.spire.presentation.drawing.*;
import java.awt.*;
import java.awt.geom.Rectangle2D;

public class setShadowEffect {
public static void main(String[] args) throws Exception {

//Create a Presentation instance
Presentation ppt = new Presentation();

//Get the first slide
ISlide slide = ppt.getSlides().get(0);

//Add a shape to slide.
Rectangle2D rect = new Rectangle2D.Float(120, 100, 150, 300);
IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, rect);

//Fill the shape with a picture
shape.getFill().setFillType(FillFormatType.PICTURE);
shape.getFill().getPictureFill().getPicture().setUrl("C:\\Users\\Administrator\\Desktop\\cow.png");
shape.getLine().setFillType(FillFormatType.NONE);
shape.getFill().getPictureFill().setFillType(PictureFillType.STRETCH);

//Set shadow effect
PresetShadow presetShadow = new PresetShadow();
presetShadow.setPreset(PresetShadowValue.BACK_RIGHT_PERSPECTIVE);
presetShadow.getColorFormat().setColor(Color.lightGray);

//Apply the shadow effect to shape
shape.getEffectDag().setPresetShadowEffect(presetShadow);

//Save the document
ppt.saveToFile("output/ShapeShadow.pptx", FileFormat.PPTX_2013);
}
}

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

NateBennett
NateBennett

Written by NateBennett

Sharing code to help developers deal with office files

No responses yet

Write a response