首頁 > 軟體

利用C#實現在Word中更改字型顏色

2023-02-22 06:00:49

在日常工作中,我們有時會需要修改字型的顏色來突出文字重點,讓讀者更容易抓住文章要點。在今天這篇文章中,我將為大家介紹如何以程式設計方式,在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

效果圖

到此這篇關於利用C#實現在Word中更改字型顏色的文章就介紹到這了,更多相關C#更改Word字型顏色內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com