学习C#调用OpenXml操作word文档的基本用法(4:Style类分析-2)
openxml中的StyleRunProperties类用于定义字符样式,其相当于在word文档中使用字体对话框设置文本样式。本文学习StyleRunProperties类的主要属性及基本用法。

1)RunFonts属性:用于设置文本字体,类型为RunFonts,该类型用于为不同字符类型的文本指定字体,其主要属性如下表所示,都是使用字体名称设置属性值:
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | Ascii | 指定用于ASCII 字符的字体 |
| 2 | ComplexScript | 指定用于复杂文字(如阿拉伯语、希伯来语等)的字体 |
| 3 | EastAsia | 指定用于东亚文字(如中文、日文、韩文字符)的字体 |
| 4 | HighAnsi | 指定用于扩展的拉丁字符的字体 |
2)Bold属性:用于设置文本加粗,类型为Bold,该类型为布尔值类型,该属性为null或值为false时文本不加粗,属性有值时则文本加粗。
3)Italic属性:用于设置文本倾斜,类型为Italic,该类型同Bold属性,同样为布尔值类型(OnOffType)。
4)Caps属性:用于设置文本是否显示为全大写字母格式,类型为Caps,布尔值类型。
5)SmallCaps属性:用于设置文本是否显示为小型大写字母格式,类型为Caps,布尔值类型,如下图所示,第一行为全大写字母格式,第二行为小型大写字母格式。

6)Strike属性:用于设置文本的删除线效果,类型为Strike,布尔值类型。
7)DoubleStrike属性:用于设置文本的双删除线效果,类型为DoubleStrike,布尔值类型。

8)Outline属性:用于设置文本的轮廓线效果,类型为Outline,布尔值类型。

9)Shadow属性:用于设置文本的阴影效果,类型为Shadow,布尔值类型。

10)Emboss属性:用于设置文本的浮雕效果,类型为Emboss,布尔值类型。

11)Imprint属性:用于设置文本的压印效果,类型为Imprint,布尔值类型。

12)NoProof属性:用于设置是否跳过文本的拼写和语法检查,类型为NoProof,布尔值类型。
13)SnapToGrid属性:用于设置文本是否对齐到网格,类型为SnapToGrid,布尔值类型。
14)Vanish属性:用于设置文本是否在视觉上被隐藏,但内容本身仍存在于文档中,类型为Vanish,布尔值类型。
15)Color属性:用于设置文本颜色,类型为Color,支持以字符串形式描述颜色,如"2E74B5"、“FF0000” 等。
16)Spacing属性:用于设置字符间距颜色,类型为Spacing,数值类型,不同数值区别如下所示。

17)CharacterScale属性:用于设置字符的缩放比例,类型为CharacterScale,数值类型的百分比值,不同百分比值的区别如下所示。

18)Kern属性:用于设置字距,类型为Kern,数值类型(UInt32Value),暂时不清楚Kern和Spacing的区别。
19)Position属性:用于设置字符位置,类型为Position,字符串类型,应该是对应的word中字体设置中高级页签中的位置,暂时不清楚如何赋值。

20)FontSize属性:用于设置字体大小,类型为FontSize,字符串类型,其值通常以半磅数为单位(如10.5磅字号值为21)。
21)Underline属性:用于设置文本下划线,类型为Underline,取值为UnderlineValues型,其值及效果示例如下所示。

22)TextEffect属性:用于设置文字效果,类型为TextEffect,取值为TextEffectValues型,其不是静态的文字艺术字样式。

23)Border属性:用于设置文字边框,类型为Border,取值为BorderValues型,其效果示例如下所示。

24)Shading属性:用于设置文字的背景图案,类型为Shading,取值为ShadingPatternValues型,其效果示例如下所示。

25)VerticalTextAlignment属性:用于设置文字为上标、下标或正常文本,类型为VerticalTextAlignment,取值为VerticalPositionValues型,其效果示例如下所示。

26)Emphasis属性:用于设置文字的着重号,类型为Emphasis,取值为EmphasisMarkValues型,其效果示例如下所示。

参考文献
[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
