我想在Groovy中设置属于ST_SchemeColorVal
的强调色。
类似的东西:
STSchemeColorVal.ACCENT_1 = new Color(0,0,0)
这可能吗?如果有,怎么样?
答案 0 :(得分:0)
我认为你想要改变主题部分(或你的一个主题部分)中的a:accent1元素,例如:
<a:theme name="Office Theme">
<a:themeElements>
<a:clrScheme name="Custom 1">
<a:dk1>
<a:srgbClr val="2F2B20"/>
</a:dk1>
<a:lt1>
<a:srgbClr val="FFFFFF"/>
</a:lt1>
<a:dk2>
<a:srgbClr val="675E47"/>
</a:dk2>
<a:lt2>
<a:srgbClr val="DFDCB7"/>
</a:lt2>
<a:accent1>
<a:srgbClr val="D6F23C"/>
</a:accent1>
<a:accent2>
<a:srgbClr val="9CBEBD"/>
</a:accent2>
:
<a:accent6>
<a:srgbClr val="B1A089"/>
</a:accent6>
<a:hlink>
<a:srgbClr val="D25814"/>
</a:hlink>
<a:folHlink>
<a:srgbClr val="849A0A"/>
</a:folHlink>
</a:clrScheme>
您需要获取主题部分,然后更改相关元素的值。
从头开始创建内容是一个不同的问题,但在Java中会是这样的:
org.docx4j.dml.ObjectFactory dmlObjectFactory = new org.docx4j.dml.ObjectFactory();
CTColorScheme colorscheme = dmlObjectFactory.createCTColorScheme();
this.getContents().getThemeElements().setClrScheme(colorscheme);
// Create object for accent1
CTColor color = dmlObjectFactory.createCTColor();
colorscheme.setAccent1(color);
// Create object for srgbClr
CTSRgbColor srgbcolor = dmlObjectFactory.createCTSRgbColor();
color.setSrgbClr(srgbcolor);
srgbcolor.setVal(your byte[])