UTILISATION D'IRONWORD

Comment créer des documents Word sans l'interopérabilité d'Office en C#

Publié mars 12, 2024
Partager:

Les documents Microsoft Word sont largement utilisés à des fins diverses, qu'il s'agisse de rapports professionnels formels ou de lettres personnelles. En C#, les développeurs ont souvent besoin de générer des documents Microsoft Word par programme. Les développeurs d'applications Windows ont traditionnellement utilisé l'interopérabilité Microsoft Office pour générer et créer des documents Word à l'aide de C#.

Cependant, cette approche n'est pas accessible à tous, et l'on peut trouver des développeurs utilisant un système d'exploitation ou une machine Linux où l'interface de Microsoft Office n'est pas disponible. Dans ce cas, les développeurs doivent explorer d'autres bibliothèques qui peuvent fonctionner indépendamment sur différentes plateformes. L'une de ces puissantes bibliothèques permettant de travailler avec des fichiers Word de manière programmatique est la suivanteIronWord, deIron Software.

IronWord offre des fonctionnalités robustes pour travailler avec des documents Word dans des applications .NET et peut fonctionner sur différentes plateformes et images/conteneurs docker basés sur Linux. Avec IronWord, qui dispose d'une API intuitive pour les documents C#, VB.NET Word et Docx, il n'est pas nécessaire d'installer Microsoft Office, Office automation ou Word Interop, pour créer, modifier et exporter des fichiers de documents Word. IronWord est entièrement compatible avec .NET 8, 7, 6, Framework, Core et Azure.

Cet article porte sur la création de documents Word en C# à l'aide de la bibliothèque IronWord.

Comment créer des documents Word sans Office Interop dans C# ;

  1. Créez un nouveau projet C#.

  2. Installer leIronWord bibliothèque.

  3. Créez un document Word à l'aide de la bibliothèque IronWord.

  4. Ajouter du contenu au document existant.

  5. Enregistrez le document Word créé.

  6. Ouvrez et affichez le document Word créé.

    Prerequisites:

  7. Visual Studio: Assurez-vous que Visual Studio ou tout autre environnement de développement C# est installé.

  8. NuGet Package Manager: Assurez-vous que vous pouvez utiliser NuGet pour gérer les paquets dans votre projet

Étape 1 : Créer un nouveau projet C

Créez une nouvelle application console C# ou utilisez un projet existant dans lequel vous souhaitez générer le document Word.

Sélectionnez le modèle d'application de la console et cliquez sur suivant.

Comment créer des documents Word sans Office Interop en C# : Figure 1 - Modèle de Console App pour la création d'un nouveau projet

Dans l'étape suivante, vous pouvez indiquer les noms de la solution et du projet.

Comment créer des documents Word sans Office Interop en C# : Figure 2 - Configuration du projet avec la solution et le nom du projet

Sélectionnez la version .NET et cliquez sur "Créer".

Comment créer des documents Word sans Office Interop en C# : Figure 3 - Création d'un projet avec la bonne version de .NET

Étape 2 : Installation de la bibliothèque IronWord

Ouvrez votre projet C# et installez le fichierIronWord à l'aide de la console NuGet Package Manager :

Install-Package IronWord -Version 2024.1.2

Le paquet NuGet peut également être installé à l'aide du gestionnaire de paquets de Visual Studio, comme indiqué ci-dessous.

Comment créer des documents Word sans l'interopérabilité d'Office en C# : Figure 4 - Installation d'IronWord avec le gestionnaire de paquets VS

Étape 3: Créer et enregistrer un document Word à l'aide de la bibliothèque IronWord

Commençons par l'exemple simple de la création d'un document Word à l'aide de la bibliothèque IronWord. Le code suivant montre comment créer un document Word essentiel avec un seul paragraphe contenant le texte "Hello, World"!"

using IronWord;
using IronWord.Models;
// Create textrun instance
TextRun textRun = new TextRun("Hello, World!");
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("example.docx"); // save docx file to disk
using IronWord;
using IronWord.Models;
// Create textrun instance
TextRun textRun = new TextRun("Hello, World!");
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("example.docx"); // save docx file to disk
Imports IronWord
Imports IronWord.Models
' Create textrun instance
Private textRun As New TextRun("Hello, World!")
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Create a new Word document object
Dim doc As New WordDocument(paragraph)
' Export docx
doc.SaveAs("example.docx") ' save docx file to disk
VB   C#

Après avoir exécuté l'exemple de code ci-dessus, le nouveau fichier de document, exemple.docx, est créé et le résultat est illustré ci-dessous.

Comment créer des documents Word sans l'interopérabilité d'Office en C# : Figure 5 - Document Word créé à l'aide du code ci-dessus.

Il s'agit d'un exemple fondamental de génération d'un fichier de document Word à l'aide d'IronWord. Pour plus d'informations, vous pouvez consulter les documents suivantsici.

Ajouter des paragraphes avec style à un document Word.

Maintenant que nous savons comment créer un document Word simple à l'aide d'IronWord, ajoutons des paragraphes et du texte stylé.

TextRun peut également prendre en compte les données de style, ce qui permet d'améliorer la représentation visuelle du texte. Le texte peut être défini avec des styles tels que le barré, le gras, l'italique et le souligné.

Modifiez et ajoutez le code ci-dessous au programme que vous avez créé précédemment.

using IronWord;
using IronWord.Models;
// Create textrun
TextRun textRun = new TextRun("Hello, World!"); // add string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); // add string or text
TextStyle italicStyle = new TextStyle()
{
    IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle); 
// add italic string
TextStyle boldStyle = new TextStyle()
{
    IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle); 
// add bold string
// Add text
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create a new Word document
WordDocument doc = new WordDocument(paragraph);
// Export docx document
doc.SaveAs("example.docx");// docx file save in EXE location
using IronWord;
using IronWord.Models;
// Create textrun
TextRun textRun = new TextRun("Hello, World!"); // add string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); // add string or text
TextStyle italicStyle = new TextStyle()
{
    IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle); 
// add italic string
TextStyle boldStyle = new TextStyle()
{
    IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle); 
// add bold string
// Add text
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create a new Word document
WordDocument doc = new WordDocument(paragraph);
// Export docx document
doc.SaveAs("example.docx");// docx file save in EXE location
Imports IronWord
Imports IronWord.Models
' Create textrun
Private textRun As New TextRun("Hello, World!") ' add string
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Configure text
Dim introText As New TextRun("This is an example paragraph with italic and bold styling.") ' add string or text
Dim italicStyle As New TextStyle() With {.IsItalic = True}
Dim italicText As New TextRun("Italic example sentence.", italicStyle)
' add italic string
Dim boldStyle As New TextStyle() With {.IsBold = True}
Dim boldText As New TextRun("Bold example sentence.", boldStyle)
' add bold string
' Add text
paragraph.AddTextRun(introText)
paragraph.AddTextRun(italicText)
paragraph.AddTextRun(boldText)
' Create a new Word document
Dim doc As New WordDocument(paragraph)
' Export docx document
doc.SaveAs("example.docx") ' docx file save in EXE location
VB   C#

Ajouter un tableau à un document Word

Pour une représentation claire des données, celles-ci peuvent également être représentées dans une grille. Lorsque les données sont disposées sous forme de grille, on parle de tableau. En utilisant IronWord, nous pouvons ajouter des tableaux et des images au document Word, comme indiqué ci-dessous :

using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Sample text";
// Add textrun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style 
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Black);
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick;
borderStyle.BorderSize = 5;
// Configure table border
TableBorders tableBorders = new TableBorders() { 
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell); // add cell
row.AddCell(cell); // add cell
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Generate document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("Document.docx"); // docx file save in EXE location
using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Sample text";
// Add textrun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style 
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Black);
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick;
borderStyle.BorderSize = 5;
// Configure table border
TableBorders tableBorders = new TableBorders() { 
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell); // add cell
row.AddCell(cell); // add cell
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Generate document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("Document.docx"); // docx file save in EXE location
Imports IronWord
Imports IronWord.Models
' Create table cell
Private cell As New TableCell()
Private textRun As New TextRun()
textRun.Text = "Sample text"
' Add textrun to the cell
cell.AddContent(New Paragraph(textRun))
' Configure border style 
Dim borderStyle As New BorderStyle()
borderStyle.BorderColor = New IronColor(IronSoftware.Drawing.Color.Black)
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick
borderStyle.BorderSize = 5
' Configure table border
Dim tableBorders As New TableBorders() With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}
cell.Borders = tableBorders
' Create row and add cell
Dim row As New TableRow()
row.AddCell(cell) ' add cell
row.AddCell(cell) ' add cell
' Create table and add row
Dim table As New Table()
table.AddRow(row)
' Generate document from the table
Dim doc As New WordDocument(table)
' Export Word document
doc.SaveAs("Document.docx") ' docx file save in EXE location
VB   C#

Dans l'exemple ci-dessus, nous avons ajouté un tableau à un document Word à l'aide de bordures.

Ajouter des images à un document Word

Les images améliorent la présentation du document et peuvent ajouter des couleurs et un attrait visuel.

Les images peuvent être ajoutées par programme à un document Word à l'aide d'IronWord, comme le montre le code ci-dessous :

using IronWord;
using IronWord.Models;
// Load new document
WordDocument doc = new WordDocument();
// Configure image
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg");
image.Width = 200; // In unit pixel (px)
image.Height = 200; // In unit pixel (px)
Paragraph paragraph = new Paragraph();
// Add image
paragraph.AddImage(image);
// Add paragraph 
doc.AddParagraph(paragraph);
// Export docx
doc.SaveAs("save_document.docx"); // docx file
using IronWord;
using IronWord.Models;
// Load new document
WordDocument doc = new WordDocument();
// Configure image
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg");
image.Width = 200; // In unit pixel (px)
image.Height = 200; // In unit pixel (px)
Paragraph paragraph = new Paragraph();
// Add image
paragraph.AddImage(image);
// Add paragraph 
doc.AddParagraph(paragraph);
// Export docx
doc.SaveAs("save_document.docx"); // docx file
Imports IronWord
Imports IronWord.Models
' Load new document
Private doc As New WordDocument()
' Configure image
Private image As New IronWord.Models.Image("SalesChart.jpg")
image.Width = 200 ' In unit pixel (px)
image.Height = 200 ' In unit pixel (px)
Dim paragraph As New Paragraph()
' Add image
paragraph.AddImage(image)
' Add paragraph 
doc.AddParagraph(paragraph)
' Export docx
doc.SaveAs("save_document.docx") ' docx file
VB   C#

Ici, nous ajoutons une image utilisant IronWord.Models.Image avec une hauteur et une largeur de 200 pixels à un paragraphe.

Licence (essai gratuit disponible)

L'utilisation d'IronWord nécessite une licence. Une clé d'essai peut être obtenue sur le site web d'Iron Softwareici. Cette clé doit être placée dans appsettings.json.

{
    "IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
}
{
    "IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
}
If True Then
	"IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
End If
VB   C#

Indiquez votre adresse électronique pour obtenir une licence d'essai. Une fois que vous avez indiqué votre adresse électronique, la clé vous sera envoyée par courrier électronique.

Comment créer des documents Word sans l'interopérabilité d'Office en C# : Figure 6 - Fenêtre contextuelle lorsque le formulaire d'essai a été soumis avec succès

Conclusion

Création de documents Word en C# à l'aide de la fonctionIronWord fournit un moyen flexible et efficace de générer des documents sans dépendre de Microsoft Office. Que vous ayez besoin de créer de simples lettres ou des rapports complexes avec des tableaux et des images, IronWord vous permet d'y parvenir par programmation. Cet article propose un tutoriel complet sur la création de documents Word. Avec IronWord, vous avez la possibilité d'automatiser la création de documents Word, ce qui rend vos applications C# plus polyvalentes et plus productives.

Et pour les développeurs qui souhaitent manipuler des fichiers PDF en conjonction avec les documents Word qu'ils génèrent, IronPDF, une autre bibliothèque C# produite par Iron Software, est tout indiquée. Pour le consulter, cliquez surici.

< PRÉCÉDENT
Comment créer un document Word par programmation en VB .NET
SUIVANT >
Comment lire un document Word avec formatage en C#