Comment travailler avec les éléments d'un document en C#

C# Document Element Tutorial

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

IronWord est une puissante bibliothèque de documents Word conçue pour aider les développeurs .NET C# à intégrer les fonctionnalités de création, de lecture et de modification de documents Word et DOCX dans leurs applications. Dans le contexte d'un document Word, les éléments du document sont les composants de base qui constituent le contenu.

Démarrage rapide : Créer un TextRun stylisé et y intégrer une image

Voici comment utiliser IronWord pour ajouter du contenu enrichi : en combinant du texte stylisé et une image intégrée dans un document. Cet exemple illustre le modèle de wrapper Run pour le texte stylisé.

  1. Installez IronWord avec le Gestionnaire de Packages NuGet

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

    using IronWord;
    using IronWord.Models;
    
    // Create document
    WordDocument doc = new WordDocument();
    
    // Create styled Run
    Run textRun = new Run(new TextContent("Hello IronWord!"));
    textRun.Style = new TextStyle() { IsBold = true, Color = Color.Blue };
    
    // Create paragraph and add Run
    Paragraph paragraph = new Paragraph();
    paragraph.AddChild(textRun);
    paragraph.AddImage(new ImageContent("pic.png"));
    
    // Add to document and save
    doc.AddParagraph(paragraph);
    doc.SaveAs("output.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

Table des matières

Concepts Clés

Hiérarchie des documents

IronWord suit une hiérarchie de documents structurée : Document → Paragraph → Run → TextContent. Comprendre cette hiérarchie est essentiel pour travailler avec du texte stylisé :

  • WordDocument : Le conteneur de niveau supérieur représentant l'ensemble du document
  • Paragraph : un bloc de contenu au sein du document
  • Run : un objet wrapper qui contient TextContent et auquel un style peut être appliqué
  • TextContent : La chaîne de texte réelle

Ajouter du contenu aux paragraphes

IronWord propose deux méthodes pour ajouter du contenu aux paragraphes :

  • AddText(TextContent) : À utiliser pour le texte brut sans mise en forme. Ajoute TextContent directement au paragraphe.
  • AddChild(Run) : À utiliser pour le texte formaté. Ajoute un objet Run (qui encapsule TextContent et contient le style) au paragraphe.

Lorsque vous devez appliquer une mise en forme telle que la taille de police, la couleur ou le gras, créez un objet Run, attribuez un TextStyle au Run, et utilisez AddChild pour l'ajouter au paragraphe.

Ajouter des TextRuns

Contenu textuel

La méthode Split est utilisée pour diviser le bloc de texte en une liste de blocs plus petits, en fonction d'un délimiteur spécifié. Cela permet d'organiser et de manipuler les informations textuelles au sein du document.

:path=/static-assets/word/content-code-examples/tutorials/add-textrun-text-content.cs
using IronWord;
using IronWord.Models;

WordDocument doc = new WordDocument();

// Add text
TextContent addText = new TextContent("Add text using IronWord");
doc.AddParagraph(new Paragraph(addText));

// Append text
TextContent appendText = new TextContent("The first text.");
appendText.Append(new TextContent("The second text."));
doc.AddParagraph(new Paragraph(appendText));

// Split text
TextContent splitText = new TextContent("Use split to split the sentence.");
splitText.Split(" ");
doc.AddParagraph(new Paragraph(splitText));

// Export docx
doc.SaveAs("textrun.docx");
Imports IronWord
Imports IronWord.Models

Private doc As New WordDocument()

' Add text
Private addText As New TextContent("Add text using IronWord")
doc.AddParagraph(New Paragraph(addText))

' Append text
Dim appendText As New TextContent("The first text.")
appendText.Append(New TextContent("The second text."))
doc.AddParagraph(New Paragraph(appendText))

' Split text
Dim splitText As New TextContent("Use split to split the sentence.")
splitText.Split(" ")
doc.AddParagraph(New Paragraph(splitText))

' Export docx
doc.SaveAs("textrun.docx")
$vbLabelText   $csharpLabel

Mise en scène

La mise en forme du texte nécessite l'utilisation du modèle de balise Run. Créez un objet Run contenant TextContent, puis attribuez un TextStyle au Run (et non au TextContent). Le TextStyle vous permet de définir des attributs visuels tels que FontSize, la couleur, le gras, l'italique, le barré, le souligné, l'exposant et l'indice.

Notez que FontSize est configuré au niveau TextStyle, tandis que FontFamily est défini à l'intérieur de la propriété TextFont. Une fois la mise en forme effectuée, utilisez AddChild pour ajouter le Run à un paragraphe. Ceci suit la hiérarchie du document : Document → Paragraph → Run → TextContent.

:path=/static-assets/word/content-code-examples/tutorials/add-textrun-set-styling.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// Load docx
WordDocument doc = new WordDocument("document.docx");

// Configure text
Run textRun = new Run(new TextContent("Add text using IronWord"));
textRun.Style = new TextStyle()
{
    FontSize = 72,
    TextFont = new Font()
    {
        FontFamily = "Caveat"
    },
    Color = Color.Red,
    IsBold = true,
    IsItalic = true,
    Underline = new Underline(),
    Strike = StrikeValue.Strike,
};

Paragraph paragraph = new Paragraph();

// Add text
paragraph.AddChild(textRun);

// Add paragraph
doc.AddParagraph(paragraph);

// Export docx
doc.SaveAs("save_document.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

' Load docx
Dim doc As New WordDocument("document.docx")

' Configure text
Dim textRun As New Run(New TextContent("Add text using IronWord"))
textRun.Style = New TextStyle() With {
    .FontSize = 72,
    .TextFont = New Font() With {
        .FontFamily = "Caveat"
    },
    .Color = Color.Red,
    .IsBold = True,
    .IsItalic = True,
    .Underline = New Underline(),
    .Strike = StrikeValue.Strike
}

Dim paragraph As New Paragraph()

' Add text
paragraph.AddChild(textRun)

' Add paragraph
doc.AddParagraph(paragraph)

' Export docx
doc.SaveAs("save_document.docx")
$vbLabelText   $csharpLabel

Obtenir la couleur de remplissage du texte

Outre la définition de la mise en forme, IronWord vous permet d'obtenir la valeur de couleur RGBA à partir de documents existants afin de garantir la cohérence de la mise en forme.

:path=/static-assets/word/content-code-examples/tutorials/rgba-color-value.cs
using IronWord;
using IronWord.Models;
using System;

// Open existing Word
WordDocument doc = new WordDocument("Accent1TextThemcolor.docx");

TextContent content = doc.Paragraphs[0].Texts[0];

// This will show the R G B A of the themecolor
var filledColor = content.Color;

// Print the filled color variable to the console
Console.WriteLine(filledColor);
Imports IronWord
Imports IronWord.Models
Imports System

' Open existing Word
Dim doc As New WordDocument("Accent1TextThemcolor.docx")

Dim content As TextContent = doc.Paragraphs(0).Texts(0)

' This will show the R G B A of the themecolor
Dim filledColor = content.Color

' Print the filled color variable to the console
Console.WriteLine(filledColor)
$vbLabelText   $csharpLabel

Pour récupérer les valeurs de couleur, chargez le document à l'aide de WordDocument, puis accédez à la collection Paragraphs et au tableau Texts pour obtenir l'objet TextContent. La propriété Color de TextContent renvoie la valeur RGBA de la couleur actuelle du texte, ce qui vous permet de maintenir une mise en forme cohérente dans l'ensemble de votre document.

Intégrer des images

Cette fonctionnalité vous permet d'intégrer facilement des images au sein du contenu, améliorant ainsi l'attrait visuel global et la force de communication du document.

:path=/static-assets/word/content-code-examples/tutorials/add-textrun-embed-images.cs
using IronWord;
using IronWord.Models;

// Load docx
WordDocument doc = new WordDocument();

// Configure image
ImageContent image = new ImageContent("image.jpg");
image.Width = 200; // In unit pixel
image.Height = 200; // In unit pixel
TextContent textRun = new TextContent();

// Add image
Paragraph para = new Paragraph(textRun);
para.AddImage(image);

// Add paragraph
doc.AddParagraph(new Paragraph(textRun));

// Export docx
doc.SaveAs("save_document.docx");
Imports IronWord
Imports IronWord.Models

' Load docx
Private doc As New WordDocument()

' Configure image
Private image As New ImageContent("image.jpg")
image.Width = 200 ' In unit pixel
image.Height = 200 ' In unit pixel
Dim textRun As New TextContent()

' Add image
Dim para As New Paragraph(textRun)
para.AddImage(image)

' Add paragraph
doc.AddParagraph(New Paragraph(textRun))

' Export docx
doc.SaveAs("save_document.docx")
$vbLabelText   $csharpLabel

Ajouter des images

Charger l'image

Le chargement des images est un processus crucial. Cela implique d'intégrer des fichiers image externes au document. La possibilité de charger des images facilite l'inclusion d'éléments visuels pertinents, contribuant ainsi à un document plus attrayant et informatif.

:path=/static-assets/word/content-code-examples/tutorials/add-image-load-image.cs
using IronWord;
using IronWord.Models;

// Load docx
WordDocument doc = new WordDocument();

Paragraph paragraph = new Paragraph();

// Add image
paragraph.AddImage("image.jpg");

// Add paragraph
doc.AddParagraph(paragraph);

// Export docx
doc.SaveAs("document.docx");
Imports IronWord
Imports IronWord.Models

' Load docx
Private doc As New WordDocument()

Private paragraph As New Paragraph()

' Add image
paragraph.AddImage("image.jpg")

' Add paragraph
doc.AddParagraph(paragraph)

' Export docx
doc.SaveAs("document.docx")
$vbLabelText   $csharpLabel

Configurer l'image

Optimisez les images grâce à des paramètres configurables. Cela inclut la configuration de propriétés telles que le retour à la ligne automatique, les dimensions, la position et la distance par rapport aux coins. Une configuration correcte garantit que les images s'affichent de manière visuellement agréable et contextuellement appropriée.

:path=/static-assets/word/content-code-examples/tutorials/add-image-configure-image.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
using IronSoftware.Abstractions.Word;

// Load docx
WordDocument doc = new WordDocument();

// Configure image
ImageContent image = new ImageContent("image.jpg");
image.TextWrapBehavior = new TextWrapSquare();
image.Width = 100;
image.Height = 100;
image.DistanceFromTop = 50;

var position = new ElementPosition();
position.X = 50;
position.Y = 50;
image.Position = position;

Paragraph paragraph = new Paragraph();

// Add image
paragraph.AddImage(image);

// Add paragraph
doc.AddParagraph(paragraph);

// Export docx
doc.SaveAs("document.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
Imports IronSoftware.Abstractions.Word

' Load docx
Dim doc As New WordDocument()

' Configure image
Dim image As New ImageContent("image.jpg")
image.TextWrapBehavior = New TextWrapSquare()
image.Width = 100
image.Height = 100
image.DistanceFromTop = 50

Dim position As New ElementPosition()
position.X = 50
position.Y = 50
image.Position = position

Dim paragraph As New Paragraph()

' Add image
paragraph.AddImage(image)

' Add paragraph
doc.AddParagraph(paragraph)

' Export docx
doc.SaveAs("document.docx")
$vbLabelText   $csharpLabel

Questions Fréquemment Posées

Comment puis-je ajouter du texte à un document Word en C# ?

Vous pouvez ajouter du texte à un document Word en utilisant IronWord pour créer une instance d'une séquence de texte, qui peut ensuite être ajoutée à un paragraphe dans le document.

Quelle est la méthode pour diviser le texte dans un document Word ?

IronWord fournit la méthode Split, qui vous permet de diviser une séquence de texte en segments plus petits basés sur un délimiteur spécifié, facilitant ainsi la manipulation du texte.

Comment puis-je styliser du texte dans un document Word en utilisant IronWord ?

Vous pouvez styliser le texte en utilisant IronWord en définissant divers attributs tels que la taille de la police, la couleur et les styles comme gras, italique, barré, souligné, exposant et indice.

Comment puis-je intégrer des images dans un document Word avec C# ?

Pour intégrer des images dans un document Word en utilisant IronWord, vous pouvez charger une image à partir d'un fichier et l'ajouter comme image en ligne dans un paragraphe du document.

Quelles sont les étapes pour charger une image dans un document Word ?

Avec IronWord, vous pouvez charger une image soit à partir d'un fichier soit à partir d'un flux de fichiers, ce qui vous permet d'incorporer du contenu visuel dans un document Word.

Comment puis-je configurer les propriétés de l'image dans un document Word ?

En utilisant IronWord, vous pouvez configurer les propriétés de l'image telles que l'habillage du texte, les dimensions, le décalage de position et la distance par rapport aux coins pour assurer un affichage approprié de l'image dans le document.

Puis-je récupérer la valeur de couleur RGBA du texte dans un document Word ?

Oui, IronWord vous permet d'obtenir la valeur de couleur RGBA du texte existant dans un document pour maintenir une cohérence dans le style.

Comment puis-je commencer à utiliser IronWord pour la manipulation de documents Word ?

Pour commencer avec IronWord, vous pouvez l'intégrer dans votre application .NET C# pour créer, lire et modifier des documents Word, en tirant parti de ses fonctionnalités de bibliothèque complètes.

Quel type de support Iron Software offre-t-il pour IronWord ?

Iron Software offre un support complet pour IronWord, comprenant documentation, tutoriels et support client pour aider les développeurs dans leur mise en œuvre.

Existe-t-il un essai gratuit disponible pour IronWord ?

Oui, Iron Software propose un essai gratuit pour IronWord, permettant aux développeurs d'explorer ses fonctionnalités avant de prendre une décision d'achat.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

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.