翼度科技»论坛 编程开发 .net 查看内容

如何通过C#/VB.NET代码在Word中更改字体颜色

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
在日常工作中,我们有时会需要修改字体的颜色来突出文本重点,让读者更容易抓住文章要点。在今天这篇文章中,我将为大家介绍如何以编程方式,在Word更改字体颜色。本文将分为两部分分别介绍如何实现此操作。以下是我整理的步骤及方法,并附上C#/VB.NET代码供大家参考。
更改段落字体颜色
更改特定文本字体颜色
程序环境
本次测试时,在程序中引入Free Spire.Doc for .NET。可通过以下方法引用 Free Spire.Doc.dll文件:
方法1:将 Free Spire.Doc for .NET下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的 Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。
方法2:通过NuGet安装。可通过以下2种方法安装:
(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。
(2)将以下内容复制到PM控制台安装。
Install-Package FreeSpire.Doc -Version 10.8.0
更改段落字体颜色

以下是更改 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#
  1. using Spire.Doc;
  2. using Spire.Doc.Documents;
  3. using System.Drawing;
  4. namespace ChangeFontColorForParagraph
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             //创建一个Document实例
  11.             Document document = new Document();
  12.             //Load a Word document
  13.             document.LoadFromFile("生死疲劳.docx");
  14.             //获取第一节
  15.             Section section = document.Sections[0];
  16.             //更改第一段文本颜色
  17.             Paragraph p1 = section.Paragraphs[0];
  18.             ParagraphStyle s1 = new ParagraphStyle(document);
  19.             s1.Name = "Color1";
  20.             s1.CharacterFormat.TextColor = Color.Blue;
  21.             document.Styles.Add(s1);
  22.             p1.ApplyStyle(s1.Name);
  23.             //更改第二段文本颜色
  24.             Paragraph p2 = section.Paragraphs[1];
  25.             ParagraphStyle s2 = new ParagraphStyle(document);
  26.             s2.Name = "Color2";
  27.             s2.CharacterFormat.TextColor = Color.Green;
  28.             document.Styles.Add(s2);
  29.             p2.ApplyStyle(s2.Name);
  30.             //保存结果文档
  31.             document.SaveToFile("更改段落字体颜色.docx", FileFormat.Docx);
  32.         }
  33.     }
  34. }
复制代码
VB.NET
  1. Imports Spire.Doc
  2. Imports Spire.Doc.Documents
  3. Imports System.Drawing
  4. Namespace ChangeFontColorForParagraph
  5.     Friend Class Program
  6.         Private Shared Sub Main(ByVal args As String())
  7.             '创建一个Document实例
  8.             Dim document As Document = New Document()
  9.             'Load a Word document
  10.             document.LoadFromFile("生死疲劳.docx")
  11.             '获取第一节
  12.             Dim section As Section = document.Sections(0)
  13.             '更改第一段文本颜色
  14.             Dim p1 As Paragraph = section.Paragraphs(0)
  15.             Dim s1 As ParagraphStyle = New ParagraphStyle(document)
  16.             s1.Name = "Color1"
  17.             s1.CharacterFormat.TextColor = Color.Blue
  18.             document.Styles.Add(s1)
  19.             p1.ApplyStyle(s1.Name)
  20.             '更改第二段文本颜色
  21.             Dim p2 As Paragraph = section.Paragraphs(1)
  22.             Dim s2 As ParagraphStyle = New ParagraphStyle(document)
  23.             s2.Name = "Color2"
  24.             s2.CharacterFormat.TextColor = Color.Green
  25.             document.Styles.Add(s2)
  26.             p2.ApplyStyle(s2.Name)
  27.             '保存结果文档
  28.             document.SaveToFile("更改段落字体颜色.docx", FileFormat.Docx)
  29.         End Sub
  30.     End Class
  31. End Namespace
复制代码
效果图


更改特定文本字体颜色

以下是更改 Word 文档中特定文本字体颜色的步骤:

  • 创建一个Document实例。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 使用 Document.FindAllString() 方法查找指定文本。
  • 调用TextSelection.GetAsOneRange().CharacterFormat.TextColor 属性,循环遍历所有指定文本,并更改其字体颜色
  • 使用 Document.SaveToFile() 方法保存结果文档。
完整代码

C#
 
  1. using Spire.Doc;
  2. using Spire.Doc.Documents;
  3. using System.Drawing;
  4. namespace ChangeFontColorForText
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             //创建一个Document实例
  11.             Document document = new Document();
  12.             //加载 Word 文档
  13.             document.LoadFromFile("生死疲劳.docx");
  14.             //查找指定文本
  15.             TextSelection[] text = document.FindAllString("生死疲劳", false, true);
  16.             //更改特定文本的字体颜色
  17.             foreach (TextSelection seletion in text)
  18.             {
  19.                 seletion.GetAsOneRange().CharacterFormat.TextColor = Color.HotPink;
  20.             }
  21.             //保存结果文档
  22.             document.SaveToFile("更改特定文本字体颜色.docx", FileFormat.Docx);
  23.         }
  24.     }
  25. }
复制代码
VB.NET
  1. Imports Spire.Doc
  2. Imports Spire.Doc.Documents
  3. Imports System.Drawing
  4. Namespace ChangeFontColorForText
  5.     Friend Class Program
  6.         Private Shared Sub Main(ByVal args As String())
  7.             '创建一个Document实例
  8.             Dim document As Document = New Document()
  9.             '加载 Word 文档
  10.             document.LoadFromFile("生死疲劳.docx")
  11.             '查找指定文本
  12.             Dim text As TextSelection() = document.FindAllString("生死疲劳", False, True)
  13.             '更改特定文本的字体颜色
  14.             For Each seletion As TextSelection In text
  15.                 seletion.GetAsOneRange().CharacterFormat.TextColor = Color.HotPink
  16.             Next
  17.             '保存结果文档
  18.             document.SaveToFile("更改特定文本字体颜色.docx", FileFormat.Docx)
  19.         End Sub
  20.     End Class
  21. End Namespace
复制代码
效果图


—本文完—

来源:https://www.cnblogs.com/Carina-baby/archive/2023/02/17/17129886.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具