How to Add Style to Text in DOCX with C
IronWord 的 TextStyle 類別讓 .NET 開發人員能夠透過程式設計方式,對 Word 文件套用 Professional 文字格式,包括字型、顏色、粗體、斜體、底線等。 無論您是要產生報表、建立範本或自動化文件建立,IronWord 都能提供全面的造型工具,複製 Microsoft Word 的格式選項。
快速入門:使用 C# 在 DOCX 中格式化文字
-
使用NuGet套件管理器安裝https://www.nuget.org/packages/IronWord
PM > Install-Package IronWord -
複製並運行這段程式碼。
// Quick example using IronWord; using IronWord.Models; // Initialize a new Word document WordDocument doc = new WordDocument(); // Create a Run with styled text Run textRun = new Run(new TextContent("Styled text")); // Apply styling properties to the Run textRun.Style = new TextStyle() { IsBold = true, Color = Color.Red, FontSize = 16, TextFont = new Font() { FontFamily = "Arial" } }; // Create paragraph and add the styled Run Paragraph paragraph = new Paragraph(); paragraph.AddChild(textRun); // Add paragraph to document and save doc.AddParagraph(paragraph); doc.SaveAs("styled.docx"); -
部署到您的生產環境進行測試
今天就在您的專案中開始使用免費試用IronWord
最小工作流程(5 個步驟)
- 安裝 IronWord C# 程式庫
- 建立一個包含 `TextContent` 的 `Run` 物件
- 將 `TextStyle` 套用至 `Run`,並設定 `FontSize`、`IsBold`、`Color` 等屬性
- 使用 `AddChild` 將格式化的 `Run` 加入段落
- 儲存已套用樣式的文件
如何在 DOCX 中加入文字樣式?
在 IronWord 中套用文字樣式時,需使用 Run 封裝模式。 建立一個 WordDocument 物件,接著建立一個 Run 物件,並將您的文字放入 TextContent 中。 請使用 Color 或 FontSize 等屬性,將 TextStyle 套用至 Run(而非 TextContent)。
格式化完成後,請使用 AddChild 將 Run 插入至 Paragraph 中,將該段落插入文件,並儲存結果。 此方法可針對需要一致樣式的自動化文件產生情境,提供文字格式的程式化控制。
:path=/static-assets/word/content-code-examples/how-to/add-style-text-simple.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
// Load docx
WordDocument doc = new WordDocument("sample.docx");
// Configure text
Run textRun = new Run(new TextContent("Add text using IronWord"));
// Configure text style settings
textRun.Style = new TextStyle()
{
FontSize = 24, // Text Size is 24
TextFont = new Font()
{
FontFamily = "Calibri" // Text Font is "Calibri"
},
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.AddChild(textRun);
// Add paragraph to document
doc.AddParagraph(paragraph);
// Save document
doc.SaveAs("add-text-style.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
' Load docx
Dim doc As New WordDocument("sample.docx")
' Configure text
Dim textRun As New Run(New TextContent("Add text using IronWord"))
' Configure text style settings
textRun.Style = New TextStyle() With {
.FontSize = 24, ' Text Size is 24
.TextFont = New Font() With {
.FontFamily = "Calibri" ' Text Font is "Calibri"
},
.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.AddChild(textRun)
' Add paragraph to document
doc.AddParagraph(paragraph)
' Save document
doc.SaveAs("add-text-style.docx")
這會產生什麼輸出?
TextStyle 類別提供基本的格式設定選項,包括字型屬性、文字顏色、粗體、斜體及底線。 請注意,FontSize 是在 TextStyle 層級進行設定(而非位於 Font 內部),而 FontFamily 則是在 TextFont 屬性中設定。 Run 物件包覆 TextContent 並承載樣式,遵循 IronWord 的文件層級模式。 此範例展示當多種樣式屬性應用於 Run 時,如何組合形成格式豐富的文字。
我可以新增哪些特定樣式?
如何變更文字顏色?
Color 屬性可透過 TextStyle 中的預設顏色,或自訂十六進位值來設定文字顏色。 這樣可以強調特定內容或與品牌顏色相符。 IronWord 支援多種顏色,包括紅色、藍色、綠色、橄欖色、深藍色和栗色。
:path=/static-assets/word/content-code-examples/how-to/add-style-text-add-text.cs
using IronWord;
using IronWord.Models;
// Create document
WordDocument doc = new WordDocument();
// Add colored text
Run textRun = new Run(new TextContent("This text is olive-colored!"));
textRun.Style = new TextStyle()
{
Color = IronWord.Models.Color.Olive // defining text to be colored olive
};
Paragraph paragraph = new Paragraph();
paragraph.AddChild(textRun);
doc.AddParagraph(paragraph);
// Save document
doc.SaveAs("colored-text.docx");
Imports IronWord
Imports IronWord.Models
' Create document
Dim doc As New WordDocument()
' Add colored text
Dim textRun As New Run(New TextContent("This text is olive-colored!"))
textRun.Style = New TextStyle() With {
.Color = IronWord.Models.Color.Olive ' defining text to be colored olive
}
Dim paragraph As New Paragraph()
paragraph.AddChild(textRun)
doc.AddParagraph(paragraph)
' Save document
doc.SaveAs("colored-text.docx")
彩色文字看起來像什麼?
如何設定字型家族和大小?
使用 TextFont 屬性自訂文字外觀。 請將 FontFamily 設定為任何已安裝的字型名稱(例如"Arial"、"Times New Roman"),並將 FontSize 設定為點數。 這可建立視覺層次,並確保不同裝置和平台的可讀性。
:path=/static-assets/word/content-code-examples/how-to/add-style-text-add-font.cs
using IronWord;
using IronWord.Models;
// Create document
WordDocument doc = new WordDocument();
// Add text with custom font family and size
Run textRun = new Run(new TextContent("This text uses Arial at 24pt!"));
textRun.Style = new TextStyle()
{
FontSize = 24, // Set font size in points
TextFont = new IronWord.Models.Font()
{
FontFamily = "Arial" // Set font family
}
};
Paragraph paragraph = new Paragraph();
paragraph.AddChild(textRun);
doc.AddParagraph(paragraph);
// Save document
doc.SaveAs("font-styled-text.docx");
Imports IronWord
Imports IronWord.Models
' Create document
Dim doc As New WordDocument()
' Add text with custom font family and size
Dim textRun As New Run(New TextContent("This text uses Arial at 24pt!"))
textRun.Style = New TextStyle() With {
.FontSize = 24, ' Set font size in points
.TextFont = New IronWord.Models.Font() With {
.FontFamily = "Arial" ' Set font family
}
}
Dim paragraph As New Paragraph()
paragraph.AddChild(textRun)
doc.AddParagraph(paragraph)
' Save document
doc.SaveAs("font-styled-text.docx")
自訂字型樣式是什麼樣子?
如何將文字粗體化?
將 IsBold 屬性設定為 true 可使文字顯示為粗體。 粗體文字常用於標題、強調或突出重要資訊。 結合其他樣式屬性,粗體文字可建立視覺層次並提高可讀性。
:path=/static-assets/word/content-code-examples/how-to/add-style-text-add-bold.cs
using IronWord;
using IronWord.Models;
// Create document
WordDocument doc = new WordDocument();
// Add bold text
Run textRun = new Run(new TextContent("this is bold!"));
textRun.Style = new TextStyle()
{
IsBold = true // Make text bold
};
Paragraph paragraph = new Paragraph();
paragraph.AddChild(textRun);
doc.AddParagraph(paragraph);
// Save document
doc.SaveAs("bold-text.docx");
Imports IronWord
Imports IronWord.Models
' Create document
Dim doc As New WordDocument()
' Add bold text
Dim textRun As New Run(New TextContent("this is bold!"))
textRun.Style = New TextStyle() With {
.IsBold = True ' Make text bold
}
Dim paragraph As New Paragraph()
paragraph.AddChild(textRun)
doc.AddParagraph(paragraph)
' Save document
doc.SaveAs("bold-text.docx")
粗體文字是什麼樣子?
如何使文字變成斜體?
將 IsItalic 屬性設定為 true 以呈現斜體樣式。 斜體文字通常用於強調、標題、外文或技術術語。 這種微妙的格式化方式可以區分文字元素,而不需要粗體格式化的視覺重量。
:path=/static-assets/word/content-code-examples/how-to/add-style-text-add-italic.cs
using IronWord;
using IronWord.Models;
// Create document
WordDocument doc = new WordDocument();
// Add italic text
Run textRun = new Run(new TextContent("this is italic."));
textRun.Style = new TextStyle()
{
IsItalic = true // Make text italic
};
Paragraph paragraph = new Paragraph();
paragraph.AddChild(textRun);
doc.AddParagraph(paragraph);
// Save document
doc.SaveAs("italic-text.docx");
Imports IronWord
Imports IronWord.Models
' Create document
Dim doc As New WordDocument()
' Add italic text
Dim textRun As New Run(New TextContent("this is italic."))
textRun.Style = New TextStyle() With {
.IsItalic = True ' Make text italic
}
Dim paragraph As New Paragraph()
paragraph.AddChild(textRun)
doc.AddParagraph(paragraph)
' Save document
doc.SaveAs("italic-text.docx")
斜體文字是什麼樣子?
可用的樣式屬性有哪些?
IronWord 提供全面的樣式屬性,與 Microsoft Word 的格式選項相仿。 這些特性結合起來創造出符合專業文件標準的複雜文字格式。
| 造型方法 | 描述 | 例子 |
|---|---|---|
| `TextFont` | 透過 **`Font` 物件**自訂文字外觀,設定字型家族。注意:`FontSize` 是在 `TextStyle` 層級設定,而非在 `Font` 內部設定。 | `textRun.Style = new TextStyle() { FontSize = 24, TextFont = new Font() { FontFamily = "Calibri" } };` |
| `Color` | 使用 **`IronWord.Models.Color`**中的預定義顏色或自訂十六進位值設定文字顏色。 | `textRun.Style.Color = IronWord.Models.Color.Red;` |
| `IsBold` | 當設定為`true`時,文字會加粗,常用於標題或強調。 | `textRun.Style.IsBold = true;` |
| `IsItalic` | 當設定為`true`時,文字會套用斜體樣式,通常用於強調或標題。 | `textRun.Style.IsItalic = true;` |
| `Underline` | 使用具有各種底線樣式的 **`Underline` 物件**,為文字加上底線。 | `textRun.Style.Underline = new Underline();` |
| `Strike` | 使用 **`StrikeValue` 枚舉**(Strike 或 DoubleStrike)將刪除線套用至文字。 | `textRun.Style.Strike = StrikeValue.Strike;` |
| `Caps` | 對文字套用大小寫效果,將所有字元轉換為大寫顯示。 | `textRun.Style.Caps = true;` |
| `CharacterScale` | 調整字元的寬度比例,使其達到正常大小的百分比。 | `textRun.Style.CharacterScale = 150;` |
| `Emboss` | 為文字添加浮雕效果,使其呈現凸起外觀。 | `textRun.Style.Emboss = true;` |
| `Emphasis` | 使用 **`EmphasisMarkValues`枚舉**值為樣式化文字新增強調標記。 | `textRun.Style.Emphasis = EmphasisMarkValues.Dot;` |
| `LineSpacing` | 使用 **`LineSpacing`物件**控制文字的行距,以改善可讀性。 | `textRun.Style.LineSpacing = new LineSpacing() { Value = 1.5 };` |
| `Outline` | 以輪廓效果渲染文本,僅顯示字元邊框。 | `textRun.Style.Outline = true;` |
| `Shading` | 使用 **`Shading`物件**為文字套用背景顏色或陰影。 | `textRun.Style.Shading = new Shading() { Color = Color.Yellow };` |
| `SmallCaps` | 將小寫字母轉換為小型大寫字母,同時保持大小寫差異。 | `textRun.Style.SmallCaps = true;` |
| `VerticalPosition` | 調整文字相對於其基線的垂直位置,以磅為單位進行測量。 | `textRun.Style.VerticalPosition = 5.0;` |
| `VerticalTextAlignment` | 使用 **`VerticalPositionValues`枚舉**在其容器中垂直定位文字。 | `textRun.Style.VerticalTextAlignment = VerticalPositionValues.Superscript;` |
結合多種風格
IronWord 的文字造型能力來自於結合多種屬性以達成複雜的格式化。 以下是結合各種樣式屬性,展示專業樣式文字的範例:
using IronWord;
using IronWord.Models;
// Create a new document
WordDocument doc = new WordDocument();
// Create richly formatted header text using Run
Run headerRun = new Run(new TextContent("Professional Document Header"));
headerRun.Style = new TextStyle()
{
FontSize = 28,
TextFont = new Font()
{
FontFamily = "Georgia"
},
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 using AddChild for styled Run
Paragraph headerParagraph = new Paragraph();
headerParagraph.AddChild(headerRun);
doc.AddParagraph(headerParagraph);
// Create body text with different styling
Run bodyRun = new Run(new TextContent("This is professionally formatted body text with custom styling."));
bodyRun.Style = new TextStyle()
{
FontSize = 11,
TextFont = new Font()
{
FontFamily = "Calibri"
},
Color = Color.Black,
LineSpacing = new LineSpacing() { Value = 1.15 } // Slightly increased line spacing
};
Paragraph bodyParagraph = new Paragraph();
bodyParagraph.AddChild(bodyRun);
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 header text using Run
Run headerRun = new Run(new TextContent("Professional Document Header"));
headerRun.Style = new TextStyle()
{
FontSize = 28,
TextFont = new Font()
{
FontFamily = "Georgia"
},
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 using AddChild for styled Run
Paragraph headerParagraph = new Paragraph();
headerParagraph.AddChild(headerRun);
doc.AddParagraph(headerParagraph);
// Create body text with different styling
Run bodyRun = new Run(new TextContent("This is professionally formatted body text with custom styling."));
bodyRun.Style = new TextStyle()
{
FontSize = 11,
TextFont = new Font()
{
FontFamily = "Calibri"
},
Color = Color.Black,
LineSpacing = new LineSpacing() { Value = 1.15 } // Slightly increased line spacing
};
Paragraph bodyParagraph = new Paragraph();
bodyParagraph.AddChild(bodyRun);
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 header text using Run
Dim headerRun As New Run(New TextContent("Professional Document Header"))
headerRun.Style = New TextStyle() With {
.FontSize = 28,
.TextFont = New Font() With {
.FontFamily = "Georgia"
},
.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 using AddChild for styled Run
Dim headerParagraph As New Paragraph()
headerParagraph.AddChild(headerRun)
doc.AddParagraph(headerParagraph)
' Create body text with different styling
Dim bodyRun As New Run(New TextContent("This is professionally formatted body text with custom styling."))
bodyRun.Style = New TextStyle() With {
.FontSize = 11,
.TextFont = New Font() With {
.FontFamily = "Calibri"
},
.Color = Color.Black,
.LineSpacing = New LineSpacing() With {.Value = 1.15} ' Slightly increased line spacing
}
Dim bodyParagraph As New Paragraph()
bodyParagraph.AddChild(bodyRun)
doc.AddParagraph(bodyParagraph)
' Save the document
doc.SaveAs("professional-document.docx")
這種全面的造型方法可以在您的應用程式的文件生成過程中創建保持一致的品牌和專業外觀的文件。
常見問題解答
如何以 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 中的預定義顏色或自訂的十六進位值來設定文字顏色。此功能有助於在您的文件中強調特定內容或匹配品牌顏色。

