C#/VB.NET: 改变Word中的字体颜色
在我们日常操作Word文档时,时常会通过改变字体颜色来突出某些重要文字内容,这样既可以使文档内容更加清晰、醒目,也可以在一定程度上丰富文档外观。在这篇文章中,我将使用Free Spire.Doc for .NET演示如何在C#/VB.NET程序中改变Word文档中的字体颜色。
安装 Free Spire.Doc for .NET
方法一:
通过NuGet安装Free Spire.Doc for .NET,具体步骤为:依次选择工具>NuGet包管理器>程序包管理器控制台,然后执行以下命令:
PM> Install-Package FreeSpire.Doc
方法二:
在程序中手动引入Spire.doc.dll文件;将Free Spire.Doc for .NET 下载到本地,解压并安装。安装完成后,打开Visual Studio创建新项目,在右边的“解决方案资源管理器”中右键点击“引用”,再依次选择“添加引用”> “浏览”,找到安装路径下BIN文件夹中的dll文件,点击“确定”,将其添加引用至程序中。
改变段落字体颜色
下列为改变Word文档中段落字体颜色的具体步骤。
- 创建Document类的实例。
- 使用Document.LoadFromFile()方法,加载Word文档。
- 利用Document.Sections[sectionIndex] 属性获取所需的节。
- 利用Section.Paragraphs[paragraphIndex]属性获取要更改字体颜色的段落。
- 创建ParagraphStyle实例。
- 利用ParagraphStyle.Name属性和ParagraphStyle.CharacterFormat.TextColor属性,设置样式名称和字体颜色。
- 使用Document.Styles.Add()方法,将样式添加到文档中。
- 使用Paragraph.ApplyStyle()方法,将样式应用于段落。
- 使用Document.SaveToFile()方法,保存结果文档。
C#
using Spire.Doc; using Spire.Doc.Documents; using System.Drawing; namespace ChangeFontColorForParagraph { class Program { static void Main(string[] args) { //创建Document类的实例 Document document = new Document(); //加载Word文档 document.LoadFromFile("Sample.docx"); //获取第一节 Section section = document.Sections[0]; //改变第一段字体颜色 Paragraph p1 = section.Paragraphs[0]; ParagraphStyle s1 = new ParagraphStyle(document); s1.Name = "Color1"; s1.CharacterFormat.TextColor = Color.RosyBrown; document.Styles.Add(s1); p1.ApplyStyle(s1.Name); //改变第二段字体颜色 Paragraph p2 = section.Paragraphs[1]; ParagraphStyle s2 = new ParagraphStyle(document); s2.Name = "Color2"; s2.CharacterFormat.TextColor = Color.DarkBlue; document.Styles.Add(s2); p2.ApplyStyle(s2.Name); //保存结果文档 document.SaveToFile("ChangeParagraphTextColor.docx", FileFormat.Docx); } } }
VB.NET
Imports Spire.Doc Imports Spire.Doc.Documents Imports System.Drawing Namespace ChangeFontColorForParagraph Friend Class Program Private Shared Sub Main(ByVal args As String()) '创建Document类的实例 Dim document As Document = New Document() '加载Word文档 document.LoadFromFile("Sample.docx") '获取第一节 Dim section As Section = document.Sections(0) '改变第一段字体颜色 Dim p1 As Paragraph = section.Paragraphs(0) Dim s1 As ParagraphStyle = New ParagraphStyle(document) s1.Name = "Color1" s1.CharacterFormat.TextColor = Color.RosyBrown document.Styles.Add(s1) p1.ApplyStyle(s1.Name) '改变第二段字体颜色 Dim p2 As Paragraph = section.Paragraphs(1) Dim s2 As ParagraphStyle = New ParagraphStyle(document) s2.Name = "Color2" s2.CharacterFormat.TextColor = Color.DarkBlue document.Styles.Add(s2) p2.ApplyStyle(s2.Name) '保存结果文档 document.SaveToFile("ChangeParagraphTextColor.docx", FileFormat.Docx) End Sub End Class End Namespace
改变指定文本的字体颜色
下列为改变Word文档中指定文本的字体颜色的具体步骤。
- 创建Document类的实例。
- 使用Document.LoadFromFile()方法,加载Word文档。
- 使用Document.FindAllString()方法寻找需要改变字体颜色的文本。
- 遍历所有出现过的指定文本,再利用TextSelection.GetAsOneRange().CharacterFormat.TextColor 属性,并更改其字体颜色。
- 使用Document.SaveToFile()方法,保存结果文档。
C#
using Spire.Doc; using Spire.Doc.Documents; using System.Drawing; namespace ChangeFontColorForText { class Program { static void Main(string[] args) { //创建Document类的实例 Document document = new Document(); //加载Word文档 document.LoadFromFile("Sample.docx"); //寻找需要改变字体颜色的文本 TextSelection[] text = document.FindAllString("中秋节", false, true); //改变指定文本的字体颜色 foreach (TextSelection seletion in text) { seletion.GetAsOneRange().CharacterFormat.TextColor = Color.Red; } //保存结果文档 document.SaveToFile("ChangeCertainTextColor.docx", FileFormat.Docx); } } }
VB.NET
Imports Spire.Doc Imports Spire.Doc.Documents Imports System.Drawing Namespace ChangeFontColorForText Friend Class Program Private Shared Sub Main(ByVal args As String()) '创建Document类的实例 Dim document As Document = New Document() '加载Word文档 document.LoadFromFile("Sample.docx") '寻找需要改变字体颜色的文本 Dim text As TextSelection() = document.FindAllString("中秋节", False, True) '改变指定文本的字体颜色 For Each seletion As TextSelection In text seletion.GetAsOneRange().CharacterFormat.TextColor = Color.Red Next '保存结果文档 document.SaveToFile("ChangeCertainTextColor.docx", FileFormat.Docx) End Sub End Class End Namespace