Cómo añadir estilo al texto en DOCX with C
La clase TextStyle de IronWord permite a los desarrolladores .NET aplicar formato de texto profesional a documentos de Word mediante programación, incluidas fuentes, colores, negrita, cursiva, subrayado y más. Ya se trate de generar informes, crear plantillas o automatizar la creación de documentos, IronWord ofrece herramientas de estilo completas que reproducen las opciones de formato de Microsoft Word.
Inicio rápido: Aplicar estilo a texto en DOCX con C#
-
Instala IronWord con el Administrador de Paquetes NuGet
PM > Install-Package IronWord -
Copie y ejecute este fragmento 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"); -
Despliegue para probar en su entorno real
Comienza a usar IronWord en tu proyecto hoy mismo con una prueba gratuita
Cómo añadir estilo al texto en DOCX
- Instalar IronWord mediante NuGet: `Install-Package IronWord`
- Crear un objeto `Run` que contenga `TextContent`
- Aplicar `TextStyle` a la `Run` con propiedades como `FontSize` , `IsBold`y `Color`
- Agregue la `Run` con estilo a un `Paragraph` usando `AddChild`
- Guardar el documento con los estilos aplicados
¿Cómo añadir estilo de texto a DOCX?
Para aplicar estilos de texto en IronWord es necesario utilizar el patrón envolvente Run. Crea un objeto WordDocument y luego crea un objeto Run que contenga TextContent con tu texto. Aplique un TextStyle al Run (no al TextContent) usando propiedades como IsBold, Color o FontSize.
Una vez diseñado, agregue Run a un Paragraph usando AddChild, inserte el párrafo en el documento y guarde el resultado. Este enfoque sigue la jerarquía del documento (Documento → Párrafo → Ejecutar → Contenido de texto) y proporciona control programático sobre el formato de texto para escenarios de generación automatizada de documentos que requieren un estilo 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")
¿Qué resultados se obtendrán?
La clase TextStyle proporciona opciones de formato esenciales, como propiedades de fuente, color de texto, negrita, cursiva y subrayado. Tenga en cuenta que FontSize se configura en el nivel TextStyle (no dentro de Font), mientras que FontFamily se establece dentro de la propiedad TextFont. El objeto Run envuelve el TextContent y contiene el estilo, siguiendo el patrón de jerarquía de documentos de IronWord. El ejemplo demuestra cómo se combinan múltiples propiedades de estilo para crear texto con formato enriquecido cuando se aplica a un Run.
¿Qué estilos específicos puedo añadir?
¿Cómo puedo cambiar el color del texto?
La propiedad Color en TextStyle establece el color del texto utilizando colores predefinidos de IronWord.Models.Color o valores hexadecimales personalizados. Esto enfatiza el contenido específico o coincide con los colores de la marca. IronWord admite una amplia gama de colores, como rojo, azul, verde, oliva, azul marino y granate.
: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")
¿Qué aspecto tiene el texto coloreado?
¿Cómo configuro la familia y el tamaño de la fuente?
Personalice la apariencia del texto con la propiedad TextFont. Establezca FontFamily en cualquier nombre de fuente instalada (por ejemplo, "Arial", "Times New Roman") y FontSize en puntos. Así se establece una jerarquía visual y se garantiza la legibilidad en distintos dispositivos y 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")
¿Qué aspecto tiene el estilo de fuente personalizado?
¿Cómo poner el texto en negrita?
Establezca la propiedad IsBold en true para que el texto esté en negrita. El texto en negrita se utiliza normalmente para los títulos, enfatizar o resaltar información importante. Combinado con otras propiedades de estilo, el texto en negrita crea una jerarquía visual y mejora la legibilidad.
: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")
¿Qué aspecto tiene el texto en negrita?
¿Cómo poner texto en cursiva?
Establezca la propiedad IsItalic en true para el estilo en cursiva. El texto en cursiva se utiliza normalmente para dar énfasis, para títulos, palabras extranjeras o términos técnicos. Este formato sutil diferencia los elementos de texto sin el peso visual de la negrita.
: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")
¿Qué aspecto tiene el texto en cursiva?
¿Cuáles son las propiedades de estilo disponibles?
IronWord ofrece amplias propiedades de estilo que reflejan las opciones de formato de Microsoft Word. Estas propiedades se combinan para crear un formato de texto complejo que cumpla las normas de los documentos profesionales.
| Método de peinado | Descripción | Ejemplo |
|---|---|---|
| `TextFont` | Personaliza la apariencia del texto con un **objeto `Font`** , configurando la familia de fuentes. Nota: `FontSize` se configura en el nivel `TextStyle` , no dentro `Font` . | `textRun.Style = new TextStyle() { FontSize = 24, TextFont = new Font() { FontFamily = "Calibri" } };` |
| `Color` | Establece el color del texto utilizando colores predefinidos de **`IronWord.Models.Color`** o valores hexadecimales personalizados. | `textRun.Style.Color = IronWord.Models.Color.Red;` |
| `IsBold` | Pone el texto en negrita cuando se establece como `true` , comúnmente usado para encabezados o énfasis. | `textRun.Style.IsBold = true;` |
| `EsItalico` | Aplica estilo cursiva al texto cuando se establece como `true` , generalmente se usa para enfatizar o para títulos. | `textRun.Style.IsItalic = true;` |
| `Subrayado` | Añade un subrayado al texto utilizando un objeto **`Subrayado`** con varios estilos de subrayado. | `textRun.Style.Underline = new Underline();` |
| `Strike` | Aplica tachado al texto utilizando **`StrikeValue` enum** (Strike o DoubleStrike). | `textRun.Style.Strike = StrikeValue.Strike;` |
| `Caps` | Aplica efectos de capitalización al texto, convirtiendo todos los caracteres a mayúsculas. | `textRun.Style.Caps = true;` |
| `Escala de caracteres` | Ajusta el ancho proporcional de los caracteres como un porcentaje de su tamaño normal. | `textRun.Style.CharacterScale = 150;` |
| `Emboss` | Aplica un efecto de relieve al texto, creando una apariencia elevada. | `textRun.Style.Emboss = true;` |
| `Enfasis` | Añade marcas de énfasis al texto con estilo utilizando valores **`EmphasisMarkValues` enum**. | `textRun.Style.Emphasis = EmphasisMarkValues.Dot;` |
| `Interlineado` | Controla el espaciado entre líneas de texto para mejorar la legibilidad mediante un objeto **`Interlineado`**. | `textRun.Style.LineSpacing = new LineSpacing() { Value = 1.5 };` |
| `Resumen` | Representa el texto con un efecto de contorno, mostrando solo los bordes de los caracteres. | `textRun.Style.Outline = true;` |
| `Sombreado` | Aplica color de fondo o sombreado al texto mediante un objeto **`Sombreado`**. | `textRun.Style.Shading = new Shading() { Color = Color.Yellow };` |
| `SmallCaps` | Convierte letras minúsculas en mayúsculas pequeñas manteniendo la distinción entre mayúsculas y minúsculas. | `textRun.Style.SmallCaps = true;` |
| `PosiciónVertical` | Ajusta la ubicación vertical del texto en relación con su línea base, medida en puntos. | `textRun.Style.VerticalPosition = 5.0;` |
| `Alineación vertical del texto` | Posiciona el texto verticalmente dentro de su contenedor utilizando **`VerticalPositionValues` enum**. | `textRun.Style.VerticalTextAlignment = VerticalPositionValues.Superscript;` |
Combinación de varios estilos
El poder de estilización del texto de IronWord proviene de la combinación de múltiples propiedades para lograr un formato complejo. A continuación se muestra un ejemplo de texto con estilo profesional mediante la combinación de varias propiedades 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")
Este enfoque de estilo integral crea documentos que mantienen una imagen de marca coherente y un aspecto profesional durante todo el proceso de generación de documentos de su aplicación.
Preguntas Frecuentes
¿Cómo puedo aplicar formato de texto a documentos de Word mediante programación en C#?
La clase TextStyle de IronWord le permite aplicar un formato de texto profesional que incluye fuentes, colores, negrita, cursiva y subrayado. Simplemente cree un objeto TextContent con su texto, aplique un TextStyle con las propiedades deseadas, añádalo a un párrafo y guarde el documento.
¿Cuáles son los pasos básicos para dar estilo al texto en archivos DOCX?
Para aplicar estilo al texto con IronWord: 1) Instale IronWord a través de NuGet, 2) Cree un objeto WordDocument, 3) Cree TextContent con su texto, 4) Aplique propiedades TextStyle como fuente, color o negrita, 5) Añada el texto a un párrafo y guarde.
¿Qué opciones de formato de texto hay disponibles?
La clase TextStyle de IronWord proporciona opciones de formato esenciales, incluidas propiedades de fuente (FontFamily y FontSize), color de texto, negrita, cursiva, subrayado y tachado. Estas opciones pueden combinarse para crear texto con formato enriquecido.
¿Cómo puedo cambiar la familia de fuentes y el tamaño del texto?
Utilice la propiedad TextFont en TextStyle para especificar la familia y el tamaño de la fuente. Establezca FontFamily en fuentes como 'Arial' o 'Times New Roman', y FontSize en el tamaño de punto que desee, como 16 para texto más grande.
¿Puedo aplicar varios estilos de texto simultáneamente?
Sí, IronWord permite combinar varias propiedades de estilo en un único objeto TextStyle. Puede aplicar negrita, cursiva, color y cambios de fuente a la vez para crear un formato de texto complejo.
¿Cómo puedo cambiar el color del texto en documentos de Word utilizando C#?
La propiedad Color en TextStyle de IronWord le permite establecer el color del texto utilizando colores predefinidos de IronWord.Models.Color o valores hexadecimales personalizados. Esta característica ayuda a enfatizar el contenido específico o hacer coincidir los colores de la marca en sus documentos.

