在我们日常操作Word文档时,时常会通过改变字体颜色来突出某些重要文字内容,这样既可以使文档内容更加清晰、醒目,也可以在一定程度上丰富文档外观。在这篇文章中,我将使用
在我们日常操作Word文档时,时常会通过改变字体颜色来突出某些重要文字内容,这样既可以使文档内容更加清晰、醒目,也可以在一定程度上丰富文档外观。在这篇文章中,我将使用Free Spire.Doc for .NET演示如何在C#/VB.NET程序中改变Word文档中的字体颜色。
- 改变段落字体颜色
- 改变指定文本的字体颜色
安装
方法一:
通过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【文章原创作者:韩国机房 http://www.558idc.com/kt.html欢迎留下您的宝贵建议】
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