How to Add Style to Text in DOCX with C

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

La classe TextStyle d'IronWord permet aux développeurs .NET d'appliquer par programmation une mise en forme professionnelle aux documents Word, notamment des polices, des couleurs, le gras, l'italique, le soulignement, etc. Qu'il s'agisse de générer des rapports, de créer des modèles ou d'automatiser la création de documents, IronWord fournit des outils de style complets qui reproduisent les options de formatage de Microsoft Word.

Démarrage rapide : Mettre en forme du texte dans un document DOCX avec C#

  1. Installez IronWord avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronWord
  2. Copiez et exécutez cet extrait de code.

    // 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. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronWord dans votre projet dès aujourd'hui avec un essai gratuit

    arrow pointer

Comment ajouter un style de texte à DOCX?

L'application de styles de texte dans IronWord nécessite l'utilisation du modèle de wrapper Run. Créez un objet WordDocument, puis créez un objet Run contenant TextContent avec votre texte. Appliquez un TextStyle au Run (et non au TextContent) en utilisant des propriétés telles que IsBold, Color ou FontSize.

Une fois la mise en forme effectuée, ajoutez Run à Paragraph à l'aide de AddChild, insérez le paragraphe dans le document et économisez le résultat. Cette approche permet un contrôle programmatique de la mise en forme du texte pour les scénarios de génération automatique de documents nécessitant une mise en forme cohérente.

Veuillez noterLa hiérarchie des documents d'IronWord suit la structure suivante : DocumentDocumentSectionParagraphRunTextContent. Les styles sont appliqués au niveau Run, et non directement sur TextContent.

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

Quel sera le résultat de cette traduction ?

Interface de Microsoft Word montrant le ruban de mise en page et le document avec un formatage de texte barré en rouge

La classe TextStyle fournit des options de mise en forme essentielles, notamment les propriétés de police, la couleur du texte, le gras, l'italique et le soulignement. Notez que FontSize est configuré au niveau de TextStyle (et non à l'intérieur de Font), tandis que FontFamily est défini dans la propriété TextFont. L'objet Run encapsule TextContent et conserve le style, conformément au modèle de hiérarchie des documents d'IronWord. L'exemple montre comment plusieurs propriétés de style se combinent pour créer un texte richement formaté lorsqu'elles sont appliquées à un Run.


Quels sont les styles spécifiques que je peux ajouter ?

Comment changer la couleur du texte?

La propriété Color dans TextStyle définit la couleur du texte à l'aide de couleurs prédéfinies provenant de IronWord.Models.Color ou de valeurs hexadécimales personnalisées. Elle doit mettre l'accent sur un contenu spécifique ou correspondre aux couleurs de la marque. IronWord prend en charge une large gamme de couleurs, notamment le rouge, le bleu, le vert, l'olive, le marine et le bordeaux.

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

À quoi ressemble un texte coloré?

Microsoft Word montrant le formatage du texte en couleur olive avec le ruban de l'onglet Accueil affichant les outils de police et de paragraphe

Comment définir la famille et la taille des polices de caractères ?

Personnalisez l'apparence du texte à l'aide de la propriété TextFont. Remplacez FontFamily par le nom d'une police installée (par exemple, " Arial ", " Times New Roman ") et FontSize par la taille en points. Cela permet d'établir une hiérarchie visuelle et de garantir la lisibilité sur différents appareils et plateformes.

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

À quoi ressemble un style de police personnalisé?

Microsoft Word montrant la police Arial à 24 pt sélectionnée dans la barre d'outils avec un exemple de texte formaté affiché

Comment mettre un texte en gras?

Définissez la propriété IsBold sur true pour rendre le texte Bold. Bold est couramment utilisé pour les titres, pour mettre l'accent ou pour mettre en évidence des informations importantes. Associé à d'autres propriétés de mise en forme, le texte Bold crée une hiérarchie visuelle et améliore la lisibilité.

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

À quoi ressemble un texte en gras?

Interface de Microsoft Word montrant le formatage du texte en gras avec le texte

Comment mettre un texte en italique?

Définissez la propriété IsItalic sur true pour le style Italic. Italic est généralement utilisé pour mettre en évidence des éléments, des titres, des mots étrangers ou des termes techniques. Cette mise en forme subtile permet de différencier les éléments de texte sans l'impact visuel de la mise en forme Bold.

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

À quoi ressemble un texte en italique?

Document Word montrant du texte en italique avec les options de formatage de l'onglet Accueil visibles dans l'interface du ruban

Quelles sont les propriétés de style disponibles ?

IronWord offre des propriétés de style complètes qui reflètent les options de formatage de Microsoft Word. Ces propriétés se combinent pour créer une mise en forme de texte complexe répondant aux normes des documents professionnels.

Méthode de stylisation Description du projet Exemple d'application
TextFont Personnalise l'apparence du texte à l'aide d'un objet Font , en définissant la famille de polices. Remarque : FontSize est défini au niveau TextStyle , et non dans Font . textRun.Style = new TextStyle() { FontSize = 24, TextFont = new Font() { FontFamily = "Calibri" } };
Couleur Définit la couleur du texte en utilisant les couleurs prédéfinies de IronWord.Models.Color ou des valeurs hexadécimales personnalisées. textRun.Style.Color = IronWord.Models.Color.Red;
IsBold Rend le texte Gras lorsqu'il est défini sur true, couramment utilisé pour les titres ou l'accentuation. textRun.Style.IsBold = true;
IsItalic Applique un style Italique au texte lorsqu'il est défini sur true, généralement utilisé pour l'accentuation ou les titres. textRun.Style.IsItalic = true;
Souligner Ajoute un Souligné au texte en utilisant un Souligné objet avec divers styles de soulignement. textRun.Style.Underline = new Underline();
Strike Applique une suppression au texte en utilisant un StrikeValue enum (Strike ou DoubleStrike). textRun.Style.Strike = StrikeValue.Strike;
Majuscules Applique les effets de capitalisation au texte, en convertissant tous les caractères en majuscules. textRun.Style.Caps = true;
CharacterScale Ajuste la largeur proportionnelle des caractères en pourcentage de leur taille normale. textRun.Style.CharacterScale = 150;
Emboss Applique un effet de gaufrage au texte, créant un aspect en relief. textRun.Style.Emboss = true;
Accentuation Ajoute des marques d'accentuation au texte stylisé en utilisant les valeurs de l'enum EmphasisMarkValues. textRun.Style.Emphasis = EmphasisMarkValues.Dot;
Espacement des lignes Contrôle l'espacement entre les lignes de texte pour améliorer la lisibilité à l'aide d'un objet Espacement des lignes. textRun.Style.LineSpacing = new LineSpacing() { Value = 1.5 };
Plan Rend le texte avec un effet de contour, n'affichant que les bordures des caractères. textRun.Style.Outline = true;
Ombre Applique une couleur d'arrière-plan ou un ombrage au texte à l'aide d'un objet Ombre. textRun.Style.Shading = new Shading() { Color = Color.Yellow };
Petites capitales Convertit les minuscules en petites capitales tout en conservant la distinction entre les majuscules et les minuscules. textRun.Style.SmallCaps = true;
Position verticale Ajuste le placement vertical du texte par rapport à sa ligne de base, mesurée en points. textRun.Style.VerticalPosition = 5.0;
Alignement vertical du texte Positionne le texte verticalement dans son conteneur en utilisant VerticalPositionValues enum. textRun.Style.VerticalTextAlignment = VerticalPositionValues.Superscript;

Combinaison de plusieurs styles

La puissance de stylisation de texte d'IronWord provient de la combinaison de plusieurs propriétés pour obtenir un formatage complexe. Voici un exemple démontrant un texte stylé de manière professionnelle en combinant diverses propriétés de style :

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

Cette approche stylistique complète permet de créer des documents conservant une image de marque cohérente et une apparence professionnelle tout au long du processus de génération de documents de votre application.

Questions Fréquemment Posées

Comment appliquer un formatage de texte à des documents Word de manière programmatique en C# ?

La classe TextStyle d'IronWord vous permet d'appliquer un formatage de texte professionnel, notamment des polices, des couleurs, du gras, de l'italique et du souligné. Il suffit de créer un objet TextContent avec votre texte, d'appliquer un TextStyle avec les propriétés souhaitées, de l'ajouter à un paragraphe et d'enregistrer le document.

Quelles sont les étapes de base pour styliser du texte dans des fichiers DOCX ?

Pour styliser un texte avec IronWord : 1) Installez IronWord via NuGet, 2) Créez un objet WordDocument, 3) Créez TextContent avec votre texte, 4) Appliquez les propriétés TextStyle comme la police, la couleur ou le gras, 5) Ajoutez le texte à un paragraphe et enregistrez.

Quelles sont les options de formatage de texte disponibles ?

La classe TextStyle d'IronWord fournit des options de formatage essentielles, notamment les propriétés de la police (FontFamily et FontSize), la couleur du texte, le gras, l'italique, le souligné et le barré. Ces options peuvent être combinées pour créer un texte richement formaté.

Comment puis-je modifier la famille de polices et la taille du texte ?

Utilisez la propriété TextFont dans TextStyle pour spécifier la famille et la taille de la police. Définissez FontFamily sur des polices telles que "Arial" ou "Times New Roman", et FontSize sur la taille de point souhaitée, par exemple 16 pour un texte de grande taille.

Puis-je appliquer plusieurs styles de texte simultanément ?

Oui, IronWord vous permet de combiner plusieurs propriétés de style dans un seul objet TextStyle. Vous pouvez appliquer des modifications de gras, d'italique, de couleur et de police en une seule fois pour créer un formatage de texte complexe.

Comment changer la couleur du texte dans les documents Word à l'aide de C# ?

La propriété Couleur du TextStyle d'IronWord vous permet de définir la couleur du texte en utilisant des couleurs prédéfinies à partir de IronWord.Models.Color ou des valeurs hexagonales personnalisées. Cette fonction permet de mettre l'accent sur un contenu spécifique ou de faire correspondre les couleurs de la marque dans vos documents.

Ahmad Sohail
Développeur Full Stack

Ahmad est un développeur full-stack avec une solide fondation en C#, Python et technologies web. Il a un profond intérêt pour la construction de solutions logicielles évolutives et aime explorer comment le design et la fonctionnalité se rencontrent dans des applications du monde réel.

<...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 44,829 | Version : 2026.5 just released
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronWord
exécuter un échantillon regarder vos données devenir un document Word.