如何使用 C# 為 DOCX 中的文字新增樣式

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronWord 的 TextStyle 類能讓 .NET 開發人員以程式化的方式將專業的文字格式套用至 Word 文件,包括字型、顏色、粗體、斜體、底線等。 無論您是要產生報表、建立範本或自動化文件建立,IronWord 都能提供全面的造型工具,複製 Microsoft Word 的格式選項。

快速入門:使用 C# 在 DOCX 中為文字加上樣式

1.透過 NuGet 安裝 IronWord:Install-Package IronWord。 2.建立 WordDocument 物件 3.使用您的文字建立 TextContent 4.套用 TextStyle 與所需的屬性 (字型、顏色、粗體等) 5.在段落中加入文字並儲存文件

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronWord

    PM > Install-Package IronWord

  2. 複製並運行這段程式碼。

    // Quick example
    using IronWord;
    using IronWord.Models;
    
    // Initialize a new Word document
    WordDocument doc = new WordDocument();
    
    // Create styled text content
    TextContent text = new TextContent("Styled text");
    
    // Apply styling properties
    text.Style = new TextStyle() 
    { 
        IsBold = true, 
        Color = Color.Red,
        TextFont = new Font()
        {
            FontFamily = "Arial",
            FontSize = 16
        }
    };
    
    // Create paragraph and add the styled text
    Paragraph paragraph = new Paragraph();
    paragraph.AddText(text);
    
    // Add paragraph to document and save
    doc.AddParagraph(paragraph);
    doc.SaveAs("styled.docx");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronWord,免費試用!
    arrow pointer

如何在 DOCX 中加入文字樣式?

在 IronWord 中套用文字樣式非常簡單。 建立一個 WordDocument 物件,然後用您的文字建立一個 TextContent 物件。 使用 IsBold, Color, 或 TextFont 等屬性套用 TextStyle, 並使用下劃線或刪除線等選項增強樣式。

風格化後,將文字新增至 Paragraph,將段落插入文件中,並儲存結果。 此方法可針對需要一致樣式的自動化文件產生情境,提供文字格式的程式化控制。

:path=/static-assets/word/content-code-examples/how-to/add-style-text-simple.cs
using IronWord;

// Load docx
WordDocument doc = new WordDocument("sample.docx");

// Configure text
TextContent text = new TextContent();
text.Text = "Add text using IronWord";

// Configure text style settings
text.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontFamily = "Calibri", // Text Font is "Calibri"
        FontSize = 24, // Text Size is 24
    },
    Color = Color.Red, // Set text color to red
    IsBold = true,     // Make text bold
    IsItalic = true,   // Make text italic
	Underline = new Underline(), // Have an underline
    Strike = StrikeValue.DoubleStrike, // No strike-through
};

Paragraph paragraph = new Paragraph();

// Add text to paragraph
paragraph.AddText(text);

// Add paragraph to document
doc.AddParagraph(paragraph);

// Save document
doc.SaveAs("add-text-style.docx");
Imports IronWord

' Load docx
Dim doc As New WordDocument("sample.docx")

' Configure text
Dim text As New TextContent()
text.Text = "Add text using IronWord"

' Configure text style settings
text.Style = New TextStyle() With {
    .TextFont = New Font() With {
        .FontFamily = "Calibri", ' Text Font is "Calibri"
        .FontSize = 24 ' Text Size is 24
    },
    .Color = Color.Red, ' Set text color to red
    .IsBold = True, ' Make text bold
    .IsItalic = True, ' Make text italic
    .Underline = New Underline(), ' Have an underline
    .Strike = StrikeValue.DoubleStrike ' No strike-through
}

Dim paragraph As New Paragraph()

' Add text to paragraph
paragraph.AddText(text)

' Add paragraph to document
doc.AddParagraph(paragraph)

' Save document
doc.SaveAs("add-text-style.docx")
$vbLabelText   $csharpLabel

這會產生什麼輸出?

Microsoft Word 介面顯示版面功能區和文件,並套用紅色刪除線文本格式

TextStyle 類提供基本的格式選項,包括字型屬性、文字顏色、粗體、斜體和底線。本範例展示了多種樣式屬性如何結合以建立豐富的文字格式。


我可以新增哪些特定樣式?

如何變更文字顏色?

TextStyle 中的 Color 屬性使用 IronWord.Models.Color 中的預定義顏色或自訂的十六進位值來設定文字顏色。 這樣可以強調特定內容或與品牌顏色相符。 IronWord 支援多種顏色,包括紅色、藍色、綠色、橄欖色、深藍色和栗色。

:path=/static-assets/word/content-code-examples/how-to/add-style-text-add-text.cs
using IronWord;

// Create document
WordDocument doc = new WordDocument();

// Add colored text
TextContent text = new TextContent("This text is olive-colored!");
text.Style = new TextStyle()
{
    Color = IronWord.Models.Color.Olive // defining text to be colored olive
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(text);
doc.AddParagraph(paragraph);

// Save document
doc.SaveAs("colored-text.docx");
Imports IronWord

' Create document
Dim doc As New WordDocument()

' Add colored text
Dim text As New TextContent("This text is olive-colored!")
text.Style = New TextStyle() With {
    .Color = IronWord.Models.Color.Olive ' defining text to be colored olive
}

Dim paragraph As New Paragraph()
paragraph.AddText(text)
doc.AddParagraph(paragraph)

' Save document
doc.SaveAs("colored-text.docx")
$vbLabelText   $csharpLabel

彩色文字看起來像什麼?

Microsoft Word 顯示橄欖色的文字格式與顯示字型與段落工具的首頁選項帶

如何設定字型家族和大小?

使用 TextFont 屬性自訂文字外觀。 將 FontFamily 設定為任何已安裝的字型名稱 (例如 "Arial"、"Times New Roman"),並將 FontSize 設定為點。 這可建立視覺層次,並確保不同裝置和平台的可讀性。

:path=/static-assets/word/content-code-examples/how-to/add-style-text-add-font.cs
using IronWord;

// Create document
WordDocument doc = new WordDocument();

// Add text with custom font family and size
TextContent text = new TextContent("This text uses Arial at 24pt!");
text.Style = new TextStyle()
{
    TextFont = new IronWord.Models.Font()
    {
        FontFamily = "Arial",  // Set font family
        FontSize = 24          // Set font size in points
    }
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(text);
doc.AddParagraph(paragraph);

// Save document
doc.SaveAs("font-styled-text.docx");
Imports IronWord

' Create document
Dim doc As New WordDocument()

' Add text with custom font family and size
Dim text As New TextContent("This text uses Arial at 24pt!")
text.Style = New TextStyle() With {
    .TextFont = New IronWord.Models.Font() With {
        .FontFamily = "Arial",  ' Set font family
        .FontSize = 24          ' Set font size in points
    }
}

Dim paragraph As New Paragraph()
paragraph.AddText(text)
doc.AddParagraph(paragraph)

' Save document
doc.SaveAs("font-styled-text.docx")
$vbLabelText   $csharpLabel

自訂字型樣式是什麼樣子?

Microsoft Word 顯示在工具列中選取 24pt 的 Arial 字型,並顯示格式化的範例文字

如何將文字粗體化?

IsBold 屬性設定為 true 以將文字粗體化。 粗體文字常用於標題、強調或突出重要資訊。 結合其他樣式屬性,粗體文字可建立視覺層次並提高可讀性。

:path=/static-assets/word/content-code-examples/how-to/add-style-text-add-bold.cs
using IronWord;

// Create document
WordDocument doc = new WordDocument();

// Add bold text
TextContent text = new TextContent("this is bold!");
text.Style = new TextStyle()
{
    IsBold = true  // Make text bold
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(text);
doc.AddParagraph(paragraph);

// Save document
doc.SaveAs("bold-text.docx");
Imports IronWord

' Create document
Dim doc As New WordDocument()

' Add bold text
Dim text As New TextContent("this is bold!")
text.Style = New TextStyle() With {
    .IsBold = True ' Make text bold
}

Dim paragraph As New Paragraph()
paragraph.AddText(text)
doc.AddParagraph(paragraph)

' Save document
doc.SaveAs("bold-text.docx")
$vbLabelText   $csharpLabel

粗體文字是什麼樣子?

顯示粗體文字格式的 Microsoft Word 介面,並在文件中顯示 'this is bold!' 文字

如何使文字變成斜體?

IsItalic 屬性設定為 true 以取得斜體樣式。 斜體文字通常用於強調、標題、外文或技術術語。 這種微妙的格式化方式可以區分文字元素,而不需要粗體格式化的視覺重量。

:path=/static-assets/word/content-code-examples/how-to/add-style-text-add-italic.cs
using IronWord;

// Create document
WordDocument doc = new WordDocument();

// Add italic text
TextContent text = new TextContent("this is italic.");
text.Style = new TextStyle()
{
    IsItalic = true  // Make text italic
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(text);
doc.AddParagraph(paragraph);

// Save document
doc.SaveAs("italic-text.docx");
Imports IronWord

' Create document
Dim doc As New WordDocument()

' Add italic text
Dim text As New TextContent("this is italic.")
text.Style = New TextStyle() With {
    .IsItalic = True  ' Make text italic
}

Dim paragraph As New Paragraph()
paragraph.AddText(text)
doc.AddParagraph(paragraph)

' Save document
doc.SaveAs("italic-text.docx")
$vbLabelText   $csharpLabel

斜體文字是什麼樣子?

Word 文件顯示斜體文字,在功能區介面中可見 Home 標籤格式選項

可用的樣式屬性有哪些?

IronWord 提供全面的樣式屬性,與 Microsoft Word 的格式選項相仿。 這些特性結合起來創造出符合專業文件標準的複雜文字格式。

造型方法 描述 例子
TextFont 使用 Font物件自訂文字外觀,以點為單位設定字型系列和大小。 text.Style.TextFont = new Font() { FontFamily = "Calibri", FontSize = 24 };
顏色 使用 IronWord.Models.Color中的預定義顏色或自訂十六進位值設定文字顏色。 text.Style.Color=IronWord.Models.Color.Red;文本。
`IsBold` 當設定為`true時,文字會加粗,常用於標題或強調。 text.Style.IsBold=true;/code
`IsItalic` 當設定為true時,文字會套用斜體樣式,通常用於強調或標題。 text.Style.IsItalic=true;文本風格。
下劃線 使用具有各種底線樣式的 下劃線 物件,為文字加上底線。 text.Style.Underline = new Underline();
Strike 使用 StrikeValue 枚舉(Strike 或 DoubleStrike)將刪除線套用至文字。 text.Style.Strike=StrikeValue.Strike;文本。
Caps 對文字套用大小寫效果,將所有字元轉換為大寫顯示。 text.Style.Caps=true;文本。
CharacterScale 調整字元的寬度比例,使其達到正常大小的百分比。 text.Style.CharacterScale=150;/code
Emboss 為文字添加浮雕效果,使其呈現凸起外觀。 text.Style.Emboss=true;/code
重點 使用 EmphasisMarkValues枚舉值為樣式化文字新增強調標記。 text.Style.Emphasis=EmphasisMarkValues.Dot;文本。
行距 使用 行距物件控制文字的行距,以改善可讀性。 text.Style.LineSpacing = new LineSpacing() { Value = 1.5 };
大綱 以輪廓效果渲染文本,僅顯示字元邊框。 text.Style.Outline=true;/code
陰影 使用 陰影物件為文字套用背景顏色或陰影。 text.Style.Shading = new Shading() { Color = Color.Yellow };
SmallCaps 將小寫字母轉換為小型大寫字母,同時保持大小寫差異。 text.Style.SmallCaps=true;/code
垂直位置 調整文字相對於其基線的垂直位置,以磅為單位進行測量。 text.Style.VerticalPosition=5.0;文本風格。
垂直文字對齊 使用 VerticalPositionValues枚舉在其容器中垂直定位文字。 text.Style.VerticalTextAlignment=VerticalPositionValues.Superscript;文字對齊方式。

結合多種風格

IronWord 的文字造型能力來自於結合多種屬性以達成複雜的格式化。 以下是結合各種樣式屬性,展示專業樣式文字的範例:

using IronWord;
using IronWord.Models;

// Create a new document
WordDocument doc = new WordDocument();

// Create richly formatted text
TextContent headerText = new TextContent("Professional Document Header");
headerText.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontFamily = "Georgia",
        FontSize = 28
    },
    Color = Color.DarkBlue,
    IsBold = true,
    SmallCaps = true,
    Underline = new Underline(),
    CharacterScale = 110,  // Slightly expand character width
    Shading = new Shading() 
    { 
        Color = Color.LightGray  // Light background
    }
};

// Add header to document
Paragraph headerParagraph = new Paragraph();
headerParagraph.AddText(headerText);
doc.AddParagraph(headerParagraph);

// Create body text with different styling
TextContent bodyText = new TextContent("This is professionally formatted body text with custom styling.");
bodyText.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontFamily = "Calibri",
        FontSize = 11
    },
    Color = Color.Black,
    LineSpacing = new LineSpacing() { Value = 1.15 }  // Slightly increased line spacing
};

Paragraph bodyParagraph = new Paragraph();
bodyParagraph.AddText(bodyText);
doc.AddParagraph(bodyParagraph);

// Save the document
doc.SaveAs("professional-document.docx");
using IronWord;
using IronWord.Models;

// Create a new document
WordDocument doc = new WordDocument();

// Create richly formatted text
TextContent headerText = new TextContent("Professional Document Header");
headerText.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontFamily = "Georgia",
        FontSize = 28
    },
    Color = Color.DarkBlue,
    IsBold = true,
    SmallCaps = true,
    Underline = new Underline(),
    CharacterScale = 110,  // Slightly expand character width
    Shading = new Shading() 
    { 
        Color = Color.LightGray  // Light background
    }
};

// Add header to document
Paragraph headerParagraph = new Paragraph();
headerParagraph.AddText(headerText);
doc.AddParagraph(headerParagraph);

// Create body text with different styling
TextContent bodyText = new TextContent("This is professionally formatted body text with custom styling.");
bodyText.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontFamily = "Calibri",
        FontSize = 11
    },
    Color = Color.Black,
    LineSpacing = new LineSpacing() { Value = 1.15 }  // Slightly increased line spacing
};

Paragraph bodyParagraph = new Paragraph();
bodyParagraph.AddText(bodyText);
doc.AddParagraph(bodyParagraph);

// Save the document
doc.SaveAs("professional-document.docx");
Imports IronWord
Imports IronWord.Models

' Create a new document
Dim doc As New WordDocument()

' Create richly formatted text
Dim headerText As New TextContent("Professional Document Header")
headerText.Style = New TextStyle() With {
    .TextFont = New Font() With {
        .FontFamily = "Georgia",
        .FontSize = 28
    },
    .Color = Color.DarkBlue,
    .IsBold = True,
    .SmallCaps = True,
    .Underline = New Underline(),
    .CharacterScale = 110,  ' Slightly expand character width
    .Shading = New Shading() With {
        .Color = Color.LightGray  ' Light background
    }
}

' Add header to document
Dim headerParagraph As New Paragraph()
headerParagraph.AddText(headerText)
doc.AddParagraph(headerParagraph)

' Create body text with different styling
Dim bodyText As New TextContent("This is professionally formatted body text with custom styling.")
bodyText.Style = New TextStyle() With {
    .TextFont = New Font() With {
        .FontFamily = "Calibri",
        .FontSize = 11
    },
    .Color = Color.Black,
    .LineSpacing = New LineSpacing() With {.Value = 1.15}  ' Slightly increased line spacing
}

Dim bodyParagraph As New Paragraph()
bodyParagraph.AddText(bodyText)
doc.AddParagraph(bodyParagraph)

' Save the document
doc.SaveAs("professional-document.docx")
$vbLabelText   $csharpLabel

這種全面的造型方法可以在您的應用程式的文件生成過程中創建保持一致的品牌和專業外觀的文件。

常見問題解答

如何以 C# 程式化方式將文字格式套用至 Word 文件?

IronWord 的 TextStyle 類別可讓您套用專業的文字格式,包括字型、顏色、粗體、斜體和底線。只需用您的文字建立一個 TextContent 物件,套用具有所需屬性的 TextStyle,將其加入段落,然後儲存文件即可。

在 DOCX 檔案中為文字加上樣式的基本步驟是什麼?

使用 IronWord 設定文字樣式的步驟如下:1)透過 NuGet 安裝 IronWord;2)建立 WordDocument 物件;3)以文字建立 TextContent;4)套用 TextStyle 屬性,例如字型、顏色或粗體;5)將文字加入段落並儲存。

有哪些文字格式選項?

IronWord 的 TextStyle 類別提供了基本的格式選項,包括字型屬性 (FontFamily 和 FontSize)、文字顏色、粗體、斜體、底線和刪除線。這些選項可以組合起來,以建立豐富的文字格式。

如何變更文字的字型和大小?

使用 TextStyle 中的 TextFont 屬性指定字型族和大小。將 FontFamily 設定為「Arial」或「Times New Roman」等字型,並將 FontSize 設定為所需的點數大小,例如較大的文字可設定為 16。

我可以同時套用多種文字樣式嗎?

是的,IronWord 允許您在單一 TextStyle 物件中結合多種樣式屬性。您可以一次套用粗體、斜體、顏色和字型變更,以建立複雜的文字格式。

如何使用 C# 更改 Word 文件中的文字顏色?

IronWord 的 TextStyle 中的 Color 屬性可讓您使用 IronWord.Models.Color 中的預定義顏色或自訂的十六進位值來設定文字顏色。此功能有助於在您的文件中強調特定內容或匹配品牌顏色。

Ahmad Sohail
全堆疊開發人員

Ahmad 是一名全堆疊開發人員,在 C#、Python 和 Web 技術方面有深厚的基礎。

在加入 Iron Software 團隊之前,Ahmad 從事自動化專案和 API 整合工作,專注於改善效能和開發人員體驗。

在空閒時間,他喜歡嘗試 UI/UX 想法,為開源工具貢獻心力,偶爾也會鑽研技術撰寫和文件,讓複雜的主題更容易理解。

準備好開始了嗎?
Nuget 下載 32,629 | 版本: 2026.2 剛剛發布