本文将介绍通过Spire.Presentation for Java 添加文本框到PPT幻灯片的方法。包括设置文本框边框样式、填充效果、阴影效果、文本框旋转、文字样式等。
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import com.spire.presentation.drawing.GradientShapeType;
import com.spire.presentation.drawing.OuterShadowEffect;
import java.awt.*;
public class AddTextBox {
public static void main(String[]args)throws Exception {
//创建文档
Presentation ppt = new Presentation();
//获取第一张幻灯片,添加指定大小和位置的矩形文本框
IAutoShape tb = ppt.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE,new Rectangle(80, 120, 550, 200));
//设置文本框边框样式
tb.getLine().setFillType(FillFormatType.SOLID);
tb.getLine().setWidth(2.5);
tb.getLine().getSolidFillColor().setColor(Color.white);
//添加文本到文本框,并格式化文本
tb.appendTextFrame("你好 世界!\n Hello World");
PortionEx textRange = tb.getTextFrame().getTextRange();
textRange.getFill().setFillType(FillFormatType.SOLID);
textRange.getFill().getSolidColor().setColor(Color.white);
textRange.setFontHeight(30);
textRange.setLatinFont(new TextFont("宋体"));
//填充文本框颜色为渐变色
tb.getFill().setFillType(FillFormatType.GRADIENT);
tb.getFill().getGradient().setGradientShape(GradientShapeType.LINEAR);
tb.getFill().getGradient().getGradientStops().append(1f,KnownColors.LIGHT_GRAY);
tb.getFill().getGradient().getGradientStops().append(0f,KnownColors.LIGHT_BLUE);
//设置文本框阴影效果
OuterShadowEffect shadowEffect= new OuterShadowEffect();
shadowEffect.setBlurRadius(20);
shadowEffect.setDirection(30);
shadowEffect.setDistance(8);
shadowEffect.getColorFormat().setColor(Color.LIGHT_GRAY);
tb.getEffectDag().setOuterShadowEffect(shadowEffect);
//设置文本框向右旋转5度( 向左旋转可设置数值为负数)
tb.setRotation(5);
//保存文档
ppt.saveToFile("AddTextBox.pptx",FileFormat.PPTX_2013);
ppt.dispose();
}
}
文本框添加效果: