使用POI修改PPT文本颜色

0

用了一下POI修改PPT,感觉这东西好麻烦。下面是两种修改文本颜色的例子:

第一种比较简单:

Color color = new Color(0, 0, 0);
xslfTextRun.setFontColor(color);

上面这种,很容易理解。

下面这个就有点点,主要是他的参数名称非常糟糕。

if(ctRegularTextRun.getRPr().getSolidFill() == null)
	ctRegularTextRun.getRPr().addNewSolidFill();
ctRegularTextRun.getRPr().getSolidFill().newCursor().removeXmlContents(); // 删除掉多余信息,否者打开时提示错误
if(ctRegularTextRun.getRPr().getSolidFill().getSrgbClr() == null)
	ctRegularTextRun.getRPr().getSolidFill().addNewSrgbClr();
CTSRgbColor ctsRgbColor = ctRegularTextRun.getRPr().getSolidFill().getSrgbClr();
Color color = new Color(0, 0, 0);
ctsRgbColor.setVal(new byte[]{(byte) color.getRed(), (byte) color.getGreen(), (byte) color.getBlue()});

这一种就没使用POI对象进行修改了,而是直接编辑XML的内容。
主要是setVal,这个你如果不去看看API文档,估计也不知道这个是什么东西。