diff --git a/src/main/java/org/ddr/poi/html/HtmlRenderContext.java b/src/main/java/org/ddr/poi/html/HtmlRenderContext.java
index 577f8ad..d7f3922 100644
--- a/src/main/java/org/ddr/poi/html/HtmlRenderContext.java
+++ b/src/main/java/org/ddr/poi/html/HtmlRenderContext.java
@@ -66,9 +66,11 @@
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSectPr;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTShd;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyle;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTText;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTUnderline;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.STShd;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STStyleType;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STThemeColor;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STUnderline;
@@ -844,7 +846,6 @@ private void applyTextStyle(CTR ctr) {
rPr.addNewI();
}
- // FIXME cssparser目前不支持以空格为分隔符的rgb颜色,仅支持逗号分隔符
// 颜色
String color = getPropertyValue(HtmlConstants.CSS_COLOR);
if (StringUtils.isNotBlank(color)) {
@@ -887,6 +888,17 @@ private void applyTextStyle(CTR ctr) {
// FIXME 段落边框与行内边框分离,行内只有全边框,段落分四边
+ // 背景色
+ String backgroundColor = getPropertyValue(HtmlConstants.CSS_BACKGROUND_COLOR, true);
+ if (StringUtils.isNotBlank(backgroundColor)) {
+ String hex = Colors.fromStyle(backgroundColor, null);
+ if (hex != null) {
+ CTShd ctShd = rPr.addNewShd();
+ ctShd.setFill(hex);
+ ctShd.setVal(STShd.CLEAR);
+ }
+ }
+
// 可见性
String visibility = getPropertyValue(HtmlConstants.CSS_VISIBILITY);
if (HtmlConstants.HIDDEN.equals(visibility) || HtmlConstants.COLLAPSE.equals(visibility)) {