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并添加到引用项中。

主要代码步骤解析

  1. 创建 Document 的对象,并使用 Document.LoadFromFile() 方法从文件载入 Word 文档。
  2. 获取第二段文本并用 TextRange.CharacterFormat.AllCaps 属性将该段落设置为 AllCaps 。
  3. 获取第三段文本并用 TextRange.CharacterFormat.AllCaps 属性将该段落设置为 IsSmallCaps 。
  4. 使用 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将文本全部大写,且原大写文本比原小写文本更大。

大丸子
12 声望3 粉丝