利用C#实现在Word中更改字体颜色

作者:Carina-baby 时间:2021-12-25 12:14:09 

在日常工作中,我们有时会需要修改字体的颜色来突出文本重点,让读者更容易抓住文章要点。在今天这篇文章中,我将为大家介绍如何以编程方式,在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() 方法保存结果文档。

完整代码

using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;

namespace ChangeFontColorForParagraph
{
   class Program
   {
       static void Main(string[] args)
       {
           //创建一个Document实例
           Document document = new Document();
           //Load a Word document
           document.LoadFromFile("生死疲劳.docx");

//获取第一节
           Section section = document.Sections[0];

//更改第一段文本颜色
           Paragraph p1 = section.Paragraphs[0];
           ParagraphStyle s1 = new ParagraphStyle(document);
           s1.Name = "Color1";
           s1.CharacterFormat.TextColor = Color.Blue;
           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.Green;
           document.Styles.Add(s2);
           p2.ApplyStyle(s2.Name);

//保存结果文档
           document.SaveToFile("更改段落字体颜色.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()
           'Load a Word document
           document.LoadFromFile("生死疲劳.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.Blue
           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.Green
           document.Styles.Add(s2)
           p2.ApplyStyle(s2.Name)

'保存结果文档
           document.SaveToFile("更改段落字体颜色.docx", FileFormat.Docx)
       End Sub
   End Class
End Namespace

效果图

利用C#实现在Word中更改字体颜色

更改特定文本字体颜色

以下是更改 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("生死疲劳.docx");

//查找指定文本
           TextSelection[] text = document.FindAllString("生死疲劳", false, true);

//更改特定文本的字体颜色
           foreach (TextSelection seletion in text)
           {
               seletion.GetAsOneRange().CharacterFormat.TextColor = Color.HotPink;
           }

//保存结果文档
           document.SaveToFile("更改特定文本字体颜色.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("生死疲劳.docx")

'查找指定文本
           Dim text As TextSelection() = document.FindAllString("生死疲劳", False, True)

'更改特定文本的字体颜色
           For Each seletion As TextSelection In text
               seletion.GetAsOneRange().CharacterFormat.TextColor = Color.HotPink
           Next

'保存结果文档
           document.SaveToFile("更改特定文本字体颜色.docx", FileFormat.Docx)
       End Sub
   End Class
End Namespace

效果图

利用C#实现在Word中更改字体颜色

来源:https://www.cnblogs.com/Carina-baby/p/17129886.html

标签:C#,Word,字体,颜色
0
投稿

猜你喜欢

  • java遍历Map的几种方法分析

    2023-12-04 22:34:27
  • Android recyclerview实现纵向虚线时间轴的示例代码

    2023-08-23 07:03:39
  • C#进制之间的相互转换详解

    2022-07-24 11:47:53
  • Android性能优化大图治理示例详解

    2023-12-13 00:18:01
  • Mybatis条件if test如何使用枚举值

    2023-11-19 14:15:33
  • Java中的字节,字符输出流与字节和字符输入流的简单理解

    2022-11-30 01:56:13
  • 使用Java8实现模板方法模式的改造

    2021-10-28 23:46:09
  • 新闻列表的分页查询java代码实现

    2022-02-24 19:46:25
  • Java抽象类与接口区别详解

    2021-06-19 19:22:37
  • Springmvc Controller接口代码示例

    2023-11-28 10:13:25
  • 简单捋捋@RequestParam 和 @RequestBody的使用

    2022-11-02 16:19:20
  • java中 Set与Map排序输出到Writer详解及实例

    2022-05-01 07:23:56
  • 关于在IDEA中SpringBoot项目中activiti工作流的使用详解

    2022-12-11 01:24:28
  • java中的实体类时间格式化

    2022-05-18 02:18:19
  • 深入了解Java设计模式之策略模式

    2021-06-24 22:45:56
  • Java中Excel高效解析工具EasyExcel的实践

    2023-05-28 13:36:38
  • 解析Java的Hibernate框架中的持久化类和映射文件

    2023-08-19 15:00:05
  • 使用Springboot自定义注解,支持SPEL表达式

    2023-11-20 01:18:58
  • idea搭建SSM框架遇踩的坑(附完整过程)

    2023-06-23 09:53:07
  • 详解Spring框架下向异步线程传递HttpServletRequest参数的坑

    2021-05-31 04:45:21
  • asp之家 软件编程 m.aspxhome.com