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

posted @ 2022-08-16 14:26  Gia-  阅读(621)  评论(0编辑  收藏  举报