利用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
效果图
更改特定文本字体颜色
以下是更改 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
效果图
来源:https://www.cnblogs.com/Carina-baby/p/17129886.html


猜你喜欢
- 前言人类建造迷宫已有5000年的历史。在世界的不同文化发展时期,这些奇特的建筑物始终吸引人们沿着弯弯曲曲、困难重重的小路吃力地行走,寻找真相
- 本文实例讲述了Java Scanner类用法及nextLine()产生的换行符问题。分享给大家供大家参考,具体如下:分析理解:Scanner
- 概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的
- 本文实例讲述了C#对图片文件的压缩、裁剪操作方法,在C#项目开发中非常有实用价值。分享给大家供大家参考。具体如下:一般在做项目时,对图片的处
- 老大让我check out 一个分支,可我在idea 右下角找了半天也没找到最后才发现:因为是刚创建的分支,我得先更新一下项目,连这个都不懂
- 效果图如下:类注释:方法注释:idea不会默认帮我们设置,所以需要手动设置。1:IDEA中在创建类时会自动给添加注释打开idea,操作Fil
- 需要的jar包:数据库代码:create database school character set utf8;use school;CRE
- 一、常见的锁策略1.1 乐观锁乐观锁:乐观锁假设认为数据一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正 式对数据是否产生并
- 环境准备创建 Maven 项目创建服务器远程连接Tools------Delployment-----Browse Remote Host设
- 开始 在本文中,我将展示如何使用各种不同的 Java 技术构建一些简单的 Comet 风格的 Web 应
- 今天就来拿贪吃蛇小游戏来练练手吧!贪吃蛇游戏规则: 1.按下空格键(游戏未结束)则游戏
- Android InputAndroid Input指的是输入事件,主要是触摸滑动,当然还包括类似蓝牙外设的输入。Input涉及到的主要模块
- 本文实例讲述了Java对象数组定义与用法。分享给大家供大家参考,具体如下:所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中
- 1.查询后获取对应的数据集后,传递参数strcodeName,根据数据集中strcodeName的匹配对应字段,获取数据集中对应的目的字段p
- 一、问题由来项目开发中,由于实际需要将某一个功能模块抽取成了一个单独的服务,其他地方需要调用的时候,通过Spring提供的RestTempl
- 今天,基基,跟大家分享一下,IntelliJ IDEA 2021 Win 和 Mac 快捷键大全,IDEA 基本所有功能都可以通过快捷键来完
- 一、电量统计模块概述耗电信息在设置 -> 电量中能够非常直观的看到。注意,Android 所有功耗统计都是通过代码估算,没有集成电路参
- 今天老师想让我帮忙把她们200多张寸照换成白底的,这些寸照里面多为蓝色底,红色底。用ps?不!用java!!对,我第一反应就是用java,到
- 前言有时候我们需要实现对照文章等,往往将文本放到两个richtextbox控件中,但是,如果我们需要同步滚动查看,来达到更好的观看效果。当然
- java 抽象类的实例详解前言:什么是抽象类?这名字听着就挺抽象的,第一次听到这个名字还真有可能被唬住。但是,就像老人家所说的,一切反动派都