How to Add Style to Text in DOCX with C
A classe TextStyle do IronWord permite que desenvolvedores .NET apliquem formatação de texto profissional a documentos Word programaticamente, incluindo fontes, cores, negrito, itálico, sublinhado e mais. Seja para gerar relatórios, criar modelos ou automatizar a criação de documentos, o IronWord oferece ferramentas de formatação abrangentes que replicam as opções de formatação do Microsoft Word.
Início rápido: Estilize texto em DOCX com C#
-
Instale IronWord com o Gerenciador de Pacotes NuGet
PM > Install-Package IronWord -
Copie e execute este trecho de código.
// 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"); -
Implante para testar em seu ambiente de produção.
Comece a usar IronWord em seu projeto hoje com uma avaliação gratuita
- Instale a biblioteca IronWord C#
- Crie um objeto `Run` contendo `TextContent`
- Aplique `TextStyle` ao `Run` com propriedades como `FontSize` , `IsBold` e `Cor`
- Adicione o `Run` estilizado a um `Paragraph` usando `AddChild`
- Salve o documento com os estilos aplicados.
Como adiciono estilo de texto a um arquivo DOCX?
Aplicar estilos de texto no IronWord requer o uso do padrão de encapsulamento Run. Crie um objeto WordDocument, depois crie um objeto Run contendo TextContent com o seu texto. Aplique um TextStyle ao Run (não ao TextContent) usando propriedades como IsBold, Color ou FontSize.
Uma vez estilizado, adicione o Run a um Paragraph usando AddChild, insira o parágrafo no documento e salve o resultado. Esta abordagem fornece controle programático sobre a formatação de texto para cenários de geração de documentos automatizados que exigem estilização consistente.
: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")
Que resultado isso irá gerar?
A classe TextStyle fornece opções de formatação essenciais, incluindo propriedades de fonte, cor do texto, negrito, itálico e sublinhado. Note que FontSize é configurado no nível TextStyle (não dentro do Font), enquanto FontFamily é definido dentro da propriedade TextFont. O objeto Run encapsula o TextContent e mantém o estilo, seguindo o padrão de hierarquia de documentos do IronWord. O exemplo demonstra como múltiplas propriedades de estilo se combinam para criar texto ricamente formatado quando aplicadas a um Run.
Que estilos específicos posso adicionar?
Como faço para alterar a cor do texto?
A propriedade Color em TextStyle define a cor do texto usando cores predefinidas de IronWord.Models.Color ou valores hex personalizados. Isso enfatiza conteúdo específico ou combina com as cores da marca. IronWord suporta uma ampla gama de cores, incluindo vermelho, azul, verde, oliva, marinho e bordô.
: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")
Qual a aparência do texto colorido?
Como faço para definir a família e o tamanho da fonte?
Personalize a aparência do texto com a propriedade TextFont. Defina FontFamily para qualquer nome de fonte instalado (por exemplo, "Arial", "Times New Roman") e FontSize em pontos. Isso estabelece uma hierarquia visual e garante a legibilidade em diferentes dispositivos e plataformas.
: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")
Como fica a estilização de fontes personalizadas?
Como faço para deixar o texto em negrito?
Defina a propriedade IsBold para true para tornar o texto em negrito. O texto em negrito é comumente usado para títulos, ênfase ou para destacar informações importantes. Combinado com outras propriedades de estilo, o texto em negrito cria hierarquia visual e melhora a legibilidade.
: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")
Qual a aparência do texto em negrito?
Como faço para deixar o texto em itálico?
Defina a propriedade IsItalic para true para estilo itálico. O texto em itálico é normalmente usado para dar ênfase, em títulos, palavras estrangeiras ou termos técnicos. Essa formatação sutil diferencia os elementos de texto sem o peso visual da formatação em negrito.
: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")
Qual é a aparência do texto em itálico?
Quais são as propriedades de estilo disponíveis?
O IronWord oferece propriedades de estilo abrangentes, semelhantes às opções de formatação do Microsoft Word. Essas propriedades se combinam para criar uma formatação de texto complexa que atende aos padrões de documentos profissionais.
| Método de estilização | Descrição | Exemplo |
|---|---|---|
| `TextFont` | Personaliza a aparência do texto com um **objeto `Font`** , definindo a família da fonte. Observação: `FontSize` é definido no nível `TextStyle` , não dentro `Font` . | `textRun.Style = new TextStyle() { FontSize = 24, TextFont = new Font() { FontFamily = 'Calibri' } };` |
| `Cor` | Define a cor do texto usando cores predefinidas de **`IronWord.Models.Color`** ou valores hexadecimais personalizados. | `textRun.Style.Color = IronWord.Models.Color.Red;` |
| `IsBold` | Ao ser definido como `true` , torna o texto em negrito, sendo comumente usado para títulos ou ênfase. | `textRun.Style.IsBold = true;` |
| `IsItalic` | Aplica estilo itálico ao texto quando definido como `true` , normalmente usado para ênfase ou títulos. | `textRun.Style.IsItalic = true;` |
| `Sublinhar` | Adiciona um sublinhado ao texto usando um **objeto `Sublinhar`** com vários estilos de sublinhado. | `textRun.Style.Underline = new Underline();` |
| `Riscar` | Aplica tachado ao texto usando **a enumeração `StrikeValue`** (Strike ou DoubleStrike). | `textRun.Style.Strike = StrikeValue.Strike;` |
| `Capitais` | Aplica efeitos de capitalização ao texto, convertendo todos os caracteres para exibição em maiúsculas. | `textRun.Style.Caps = true;` |
| `EscalaDeCaracteres` | Ajusta a largura proporcional dos caracteres como uma porcentagem do seu tamanho normal. | `textRun.Style.CharacterScale = 150;` |
| `Emboss` | Aplica um efeito de relevo ao texto, criando uma aparência elevada. | `textRun.Style.Emboss = true;` |
| `Ênfase` | Adiciona marcas de ênfase ao texto estilizado usando os valores **da enumeração `EmphasisMarkValues`** . | `textRun.Style.Emphasis = EmphasisMarkValues.Dot;` |
| `EspaçamentoDeLinha` | Controla o espaçamento entre linhas de texto para melhorar a legibilidade usando um **objeto `EspaçamentoDeLinha`** . | `textRun.Style.LineSpacing = new LineSpacing() { Value = 1.5 };` |
| `Contorno` | Renderiza o texto com um efeito de contorno, exibindo apenas as bordas dos caracteres. | `textRun.Style.Outline = true;` |
| `Sombreamento` | Aplica cor de fundo ou sombreamento ao texto usando um **objeto `Sombreamento`** . | `textRun.Style.Shading = new Shading() { Color = Color.Yellow };` |
| `Minúsculas` | Converte letras minúsculas em letras maiúsculas versalete, mantendo a distinção entre maiúsculas e minúsculas. | `textRun.Style.SmallCaps = true;` |
| `PosiçãoVertical` | Ajusta o posicionamento vertical do texto em relação à sua linha de base, medido em pontos. | `textRun.Style.VerticalPosition = 5.0;` |
| `AlinhamentoVerticalDoTexto` | Posiciona o texto verticalmente dentro do seu contêiner usando **a enumeração `VerticalPositionValues`** . | `textRun.Style.VerticalTextAlignment = VerticalPositionValues.Superscript;` |
Combinando vários estilos
O poder de estilização de texto do IronWord vem da combinação de múltiplas propriedades para alcançar formatação complexa. Aqui está um exemplo que demonstra um texto formatado profissionalmente, combinando várias propriedades de estilo:
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")
Essa abordagem de formatação abrangente cria documentos que mantêm uma identidade visual consistente e uma aparência profissional em todo o processo de geração de documentos da sua aplicação.
Perguntas frequentes
Como posso aplicar formatação de texto a documentos do Word programaticamente em C#?
A classe TextStyle do IronWord permite aplicar formatação de texto profissional, incluindo fontes, cores, negrito, itálico e sublinhado. Basta criar um objeto TextContent com o seu texto, aplicar um TextStyle com as propriedades desejadas, adicioná-lo a um parágrafo e salvar o documento.
Quais são os passos básicos para formatar texto em arquivos DOCX?
Para formatar texto com o IronWord: 1) Instale o IronWord via NuGet, 2) Crie um objeto WordDocument, 3) Crie um TextContent com seu texto, 4) Aplique propriedades de estilo de texto, como fonte, cor ou negrito, 5) Adicione o texto a um parágrafo e salve.
Quais opções de formatação de texto estão disponíveis?
A classe TextStyle do IronWord oferece opções essenciais de formatação, incluindo propriedades da fonte (FontFamily e FontSize), cor do texto, negrito, itálico, sublinhado e tachado. Essas opções podem ser combinadas para criar textos com formatação avançada.
Como faço para alterar a família e o tamanho da fonte do texto?
Use a propriedade TextFont em TextStyle para especificar a família e o tamanho da fonte. Defina FontFamily para fontes como 'Arial' ou 'Times New Roman' e FontSize para o tamanho de ponto desejado, como 16 para textos maiores.
Posso aplicar vários estilos de texto simultaneamente?
Sim, o IronWord permite combinar várias propriedades de estilo em um único objeto TextStyle. Você pode aplicar negrito, itálico, cor e alterações de fonte simultaneamente para criar formatação de texto complexa.
Como faço para alterar a cor do texto em documentos do Word usando C#?
A propriedade Color do TextStyle do IronWord permite definir a cor do texto usando cores predefinidas de IronWord.Models.Color ou valores hexadecimais personalizados. Esse recurso ajuda a enfatizar conteúdo específico ou a combinar as cores da marca em seus documentos.

