Cómo añadir estilo al texto en DOCX with C

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

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#

  1. Instala IronWord con el Administrador de Paquetes NuGet

    PM > Install-Package IronWord
  2. 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");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronWord en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

¿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");
$vbLabelText   $csharpLabel

¿Qué resultados se obtendrán?

Interfaz de Microsoft Word que muestra la cinta de diseño y el documento con el formato de texto tachado en rojo

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");
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el texto coloreado?

Microsoft Word muestra el formato de texto en color oliva con la cinta de opciones de la pestaña Inicio que muestra las herramientas de fuente y párrafo

¿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");
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el estilo de fuente personalizado?

Microsoft Word muestra la fuente Arial a 24pt seleccionada en la barra de herramientas con el texto de muestra formateado

¿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");
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el texto en negrita?

Interfaz de Microsoft Word que muestra el formato de texto en negrita con el texto '¡esto es 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");
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el texto en cursiva?

Documento de Word que muestra texto en cursiva con las opciones de formato de la pestaña Inicio visibles en la interfaz de cinta

¿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");
$vbLabelText   $csharpLabel

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.

Ahmad Sohail
Desarrollador Full Stack

Ahmad es un desarrollador full-stack con una sólida base en C#, Python y tecnologías web. Tiene un profundo interés en construir soluciones de software escalables y disfruta explorando cómo el diseño y la funcionalidad se encuentran en aplicaciones del mundo real.

Antes ...

Leer más
¿Listo para empezar?
Nuget Descargas 36,374 | Versión: 2026.3 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronWord
ejecuta una muestra observa cómo tus datos se convierten en un documento de Word.