上一篇文章中介绍的文本运行类Run,其中的RunProperties属性设置文本格式及效果,其类型为RunProperties,包括TextOutlineEffect、Reflection、Glow等效果设置属性,本文进一步学习这些属性的类型说明:
1)Glow属性:设置文字的发光效果,对应word文档中字体设置->文字效果中的发光设置,类型为Glow,主要属性如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | GlowRadius | 设置发光半径,类型为Int64Value,取值范围通常是0到150(单位通常为磅) |
| 2 | RgbColorModelHex | 设置16进制发光颜色值,类型为RgbColorModelHex |
| 3 | SchemeColor | 设置使用文档主题中预定义的主题颜色,类型为SchemeColor ,从枚举值SchemeColorValues内取值 |

2)Shadow14属性:设置文字的阴影效果,对应word文档中字体设置->文字效果中的阴影设置,类型为DocumentFormat.OpenXml.Office2010.Word.Shadow,主要属性如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | BlurRadius | 设置阴影的模糊半径,类型为Int64Value |
| 2 | DistanceFromText | 设置阴影的偏移距离,类型为Int64Value |
| 3 | DirectionAngle | 设置阴影的方向,通常以度为单位,类型为 Int32Value |
| 4 | HorizontalScalingFactor | 阴影的水平缩放因子,以百分比表示,类型为Int32Value |
| 5 | VerticalScalingFactor | 阴影的垂直缩放因子,以百分比表示,类型为Int32Value |
| 6 | HorizontalSkewAngle | 阴影的水平倾斜角度,类型为Int32Value |
| 7 | VerticalSkewAngle | 阴影的垂直倾斜角度,类型为Int32Value |
| 8 | Alignment | 指定阴影效果的对齐基准点,从枚举值RectangleAlignmentValues内取值 |
| 9 | RgbColorModelHex | 设置16进制阴影颜色值,类型为RgbColorModelHex |
| 10 | SchemeColor | 设置使用文档主题中预定义的主题颜色,类型为SchemeColor ,从枚举值SchemeColorValues内取值 |

3)Reflection属性:设置文本的倒影效果,对应word文档中字体设置->文字效果中的映像设置,类型为DocumentFormat.OpenXml.Office2010.Word.Reflection,主要属性如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | BlurRadius | 设置倒影的模糊半径,类型为Int64Value |
| 2 | DistanceFromText | 设置倒影与原始文字的距离,类型为Int64Value |
| 3 | DirectionAngle | 设置倒影的偏移方向,通常以度为单位,类型为 Int32Value |
| 4 | HorizontalScalingFactor | 设置倒影的水平缩放因子,以百分比表示,类型为Int32Value |
| 5 | VerticalScalingFactor | 设置倒影的垂直缩放因子,以百分比表示,类型为Int32Value |
| 6 | HorizontalSkewAngle | 设置倒影的水平倾斜角度,类型为Int32Value |
| 7 | VerticalSkewAngle | 设置倒影的垂直倾斜角度,类型为Int32Value |
| 8 | Alignment | 设置倒影的对齐基准点,从枚举值RectangleAlignmentValues内取值 |
| 9 | StartingOpacity | 倒影开始处(靠近文字处)的不透明度,类型为Int32Value |
| 10 | StartPosition | 设置起始不透明度值的开始位置,类型为Int32Value |
| 11 | EndingOpacity | 倒影结束处(远离文字处)的不透明度,类型为Int32Value |
| 12 | EndPosition | 设置结束点的不透明度的位置,类型为Int32Value |
| 13 | FadeDirection | 设置渐变方向,类型为Int32Value |

4)TextOutlineEffect属性:设置文本的轮廓效果,对应word文档中字体设置->文字效果中的文本轮廓设置,类型为DocumentFormat.OpenXml.Office2010. Word.TextOutlineEffect,主要属性如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | LineWidth | 设置轮廓线条的宽度,类型为Int32Value |
| 2 | CapType | 设置线条端点形状,从枚举值 LineCapValues内取值 |
| 3 | Compound | 设置线条的复合类型,从枚举值 CompoundLineValues内取值 |
| 4 | Alignment | 设置笔触对齐方式,从枚举值 PenAlignmentValues 内取值 |

5)FillTextEffect属性:设置文本的填充效果,对应word文档中字体设置->文字效果中的文本填充设置,类型为DocumentFormat.OpenXml.Office2010. Word.FillTextEffect,主要属性如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | NoFillEmpty | 设置文本不应用任何填充,类型为NoFillEmpty |
| 2 | SolidColorFillProperties | 设置文本纯色填充,类型为SolidColorFillProperties |
| 3 | GradientFillProperties | 设置文本渐变色填充,类型为GradientFillProperties |

纯色填充类SolidColorFillProperties的主要属性如下表所示:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | RgbColorModelHex | 设置16进制填充颜色值,类型为RgbColorModelHex |
| 2 | SchemeColor | 设置使用文档主题中预定义的主题颜色,类型为SchemeColor ,从枚举值SchemeColorValues内取值 |
渐变色填充类GradientFillProperties支持添加GradientStopList、LinearShadeProperties、PathShadeProperties三种子类型,其中LinearShadeProperties设置线性渐变属性,主要包括Angle(渐变角度)和Scaled(适应边框)属性,PathShadeProperties设置路径渐变属性,主要包括Path(渐变形状)和FillToRectangle(焦点矩形设置)属性,GradientStopList保存渐变点集合,是GradientStop类型实例对象集合。一个GradientStop对象代表一个渐变带中的位置,该类型主要包括以下属性:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | StopPosition | 设置渐变点在渐变条带上的位置,通常是一个介于 0% 到 100% 之间的百分比,类型为Int32Value |
| 2 | RgbColorModelHex | 设置16进制渐变色颜色值,类型为RgbColorModelHex |
| 3 | SchemeColor | 设置使用文档主题中预定义的主题颜色,类型为SchemeColor ,从枚举值SchemeColorValues内取值 |
参考文献
1\]https://github.com/dotnet/Open-XML-SDK \[2\]https://learn.microsoft.com/zh-cn/office/open-xml/open-xml-sdk \[3\]https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.style?view=openxml-3.0.1 \[4\]https://blog.csdn.net/i042416/article/details/126228816