Word文档中,用全部大写来强调英文段落是不错的强调方法,全部大写的英文段落更能引人注意,同时大写字母本身就能在一定程度上传递文本的重要性。本文将介绍通过程序实现替换已有英文文本为全部大写的操作方法。
引入DLL
1. 通过NuGet安装
1.1. 可右键单击解决方案中的依赖项,找到“管理NuGet包”,在其中搜索“Spire.Doc”并添加到引用项中。
1.2. 复制以下内容到控制台安装PM> Install-Package Spire.Doc
2. 手动添加DLL
可在在Spire.Doc for .NET官网下载免费版后解压,在解决方案中找到依赖项,右键单击找到添加引用项,找到Spire.Doc.dll并添加到引用项中。
主要代码步骤解析
- 创建 Document 的对象,并使用 Document.LoadFromFile() 方法从文件载入 Word 文档。
- 获取第二段文本并用 TextRange.CharacterFormat.AllCaps 属性将该段落设置为 AllCaps 。
- 获取第三段文本并用 TextRange.CharacterFormat.AllCaps 属性将该段落设置为 IsSmallCaps 。
- 使用 Document.SaveToFile() 方法保存文档到一个新的 Word 文件。
C#
using System;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace changecase
{
class Program
{
static void Main(string[] args)
{
// 创建 Document 的对象,并从文件中载入 Word 文档
string input = @"D:\testp\示例.docx"; ;
Document doc = new Document();
doc.LoadFromFile(input);
TextRange textRange;
// 获取第二段文本并将其设置为 AllCaps
Paragraph para1 = doc.Sections[0].Paragraphs[2];
foreach (DocumentObject obj in para1.ChildObjects)
{
if (obj is TextRange)
{
textRange = obj as TextRange;
textRange.CharacterFormat.AllCaps = true;
}
}
// 获取第三段文本并将其设置为 IsSmallCaps
Paragraph para2 = doc.Sections[0].Paragraphs[3];
foreach (DocumentObject obj in para2.ChildObjects)
{
if (obj is TextRange)
{
textRange = obj as TextRange;
textRange.CharacterFormat.IsSmallCaps = true;
}
}
//保存文档到新的 Word 文件
string output = "改为大写字母.docx";
doc.SaveToFile(output, FileFormat.Docx2013);
}
}
}
VB.NET
Imports System
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Module Program
Sub Main(args As String())
' 创建 Document 的对象,并从文件中载入 Word 文档
Dim input As String = "D:\testp\示例.docx"
Dim doc As New Document()
doc.LoadFromFile(input)
Dim textRange As TextRange
'获取第二段文本并将其设置为AllCaps
Dim para1 As Paragraph = doc.Sections(0).Paragraphs(2)
For Each obj As DocumentObject In para1.ChildObjects
If TypeOf obj Is TextRange Then
textRange = TryCast(obj, TextRange)
textRange.CharacterFormat.AllCaps = True
End If
Next obj
'获取第三段文本并将其设置为IsSmallCaps
Dim para2 As Paragraph = doc.Sections(0).Paragraphs(3)
For Each obj As DocumentObject In para2.ChildObjects
If TypeOf obj Is TextRange Then
textRange = TryCast(obj, TextRange)
textRange.CharacterFormat.IsSmallCaps = True
End If
Next obj
'保存文档到新的 Word 文件
Dim output As String = "改为大写字母.docx"
doc.SaveToFile(output, FileFormat.Docx2013)
End Sub
End Module
更改后的效果
注意事项
- 代码中文件路径均为Debug路径,如:D:\worddocx\applyemphasismark\changecase\bin\Debug\net5.0\改为全部大写.docx,文件路径可自定义为其他路径。
- 以上代码中引入的是免费Word库 Free Spire.Doc for .NET版本中的dll。
- AllCaps 将文本全部大写,字母大小相同,而IsSmallCaps将文本全部大写,且原大写文本比原小写文本更大。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。