Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une comparaison entre IronWord et Microsoft.Office.Interop.Word

1. Introduction

De nombreux développeurs travaillent avec des applications .NET où ils ont besoin de gérer des documents Word. Cela pourrait être pour créer des rapports, traiter des documents ou générer des factures. Deux outils populaires pour cela sont Microsoft.Office.Interop.Word et IronWord. Chacun a son propre ensemble de fonctionnalités, avantages et inconvénients.

Cet article comparera Microsoft.Office.Interop.Word et IronWord. Nous examinerons ce que chaque outil offre, comment ils fonctionnent, et dans quels scénarios ils sont les mieux utilisés. Cela devrait vous aider à décider quel outil est le mieux adapté à vos besoins spécifiques.

2. Microsoft.Office.Interop.Word

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 1 - page web de Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word est une bibliothèque qui permet aux applications .NET d'interagir directement avec les documents Microsoft Word. C'est un composant clé pour les développeurs qui ont besoin d'automatiser les processus de document Word ou d'intégrer des capacités de manipulation de document Word dans leurs applications .NET. Cette bibliothèque est particulièrement utile pour des tâches telles que la génération, la modification et le formatage de documents au sein de l'environnement .NET, en exploitant toutes les capacités de Microsoft Word.

2.1 Caractéristiques clés

Création et édition de documents :

Microsoft.Office.Interop.Word offre un support étendu pour la création et l'édition de documents Word. Il permet aux développeurs d'ajouter, de modifier et de supprimer du texte de manière programmatique, ainsi que de gérer les propriétés du document telles que les titres et les sujets. Cette fonctionnalité est essentielle pour générer des documents dynamiques basés sur des entrées utilisateur ou des sources de données externes.

Formatage et styles :

La bibliothèque offre des options complètes pour le formatage du texte, des paragraphes et des documents entiers. Les développeurs peuvent appliquer divers styles, polices, couleurs et alignements de paragraphes pour créer des documents formatés de manière professionnelle. Cela inclut la possibilité de définir et d'appliquer des styles personnalisés par défaut, garantissant que les documents générés répondent à des exigences de marque ou de conception spécifiques.

Compatibilité avec Microsoft Word :

En tant que composant de la suite Microsoft Office, Microsoft.Office.Interop.Word assure une grande fidélité et compatibilité avec toutes les fonctionnalités de Microsoft Word. Cela inclut une intégration transparente avec les dernières versions de Word, garantissant que les documents créés ou modifiés par la bibliothèque sont entièrement compatibles avec le format natif de Word.

3. IronWord

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 2 - page web d'IronWord

IronWord est une bibliothèque .NET conçue pour la manipulation de documents, ciblant spécifiquement le traitement des documents Word. Contrairement à Microsoft.Office.Interop.Word, qui s'appuie sur la suite Microsoft Office, IronWord fournit une solution autonome pour créer, éditer et convertir des documents Word au sein des applications .NET. Cela en fait une option attrayante pour les développeurs à la recherche d'une bibliothèque qui ne nécessite pas l'installation de Microsoft Word sur les machines serveurs ou clientes.

3.1 Caractéristiques clés

Traitement de documents autonome :

IronWord permet la manipulation de documents Word directement dans les applications .NET sans avoir besoin que Microsoft Office Word soit installé. Cette indépendance simplifie le déploiement et réduit la complexité des environnements de développement, en particulier dans les contextes serveurs ou cloud.

Conversion de documents :

Une capacité significative d'IronWord est son support pour la conversion de documents Word en d'autres formats, tels que PDF, HTML et texte brut. Cette fonction est essentielle pour les applications qui ont besoin de présenter des documents dans plusieurs formats ou pour les applications web qui nécessitent que le contenu du document soit affiché en HTML.

Options de formatage complètes :

IronWord offre une large gamme de capacités de mise en forme, permettant aux développeurs de appliquer des styles de texte, d'ajouter des alignements de paragraphes et d'insérer des éléments comme des tableaux et des images. Ces options garantissent que les documents générés ou modifiés par IronWord respectent les normes visuelles et structurelles requises.

Intégration facile avec les projets .NET :

Conçu avec les applications .NET à l'esprit, IronWord peut être facilement intégré dans tout projet .NET via NuGet. Son API est conçue pour être intuitive pour les développeurs .NET, facilitant ainsi le démarrage avec les documents Word.

Compatibilité multiplateforme :

IronWord prend en charge le développement multiplateforme, ce qui le rend adapté à une utilisation dans des applications ciblant divers systèmes d'exploitation. Cela est particulièrement précieux pour les projets qui doivent fonctionner à la fois sur le système d'exploitation Windows et le système d'exploitation Linux, ou dans des environnements cloud.

4. Création du projet .NET dans Visual Studio

4.1 Ouvrir dans Visual Studio

Commencez par lancer Microsoft Visual Studio. En ouvrant l'application, vous serez accueilli par la fenêtre de démarrage. Cette fenêtre offre diverses options pour commencer, y compris l'ouverture d'un projet existant ou la création d'un nouveau. Pour notre objectif, vous vous concentrerez sur l'initiation d'un nouveau projet.

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 3 - Création d'un nouveau projet dans Visual Studio

4.2 Choix du type de projet

Après avoir cliqué sur l'option pour créer un nouveau projet, Visual Studio vous présente une liste de modèles. Pour continuer, sélectionnez le projet Application console.

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 4 - Création d'un projet Application console

4.3 Configuration du projet

Une fois que vous avez sélectionné le modèle de projet souhaité, cliquer sur 'Suivant' vous amène à l'écran de configuration du projet. Ici, vous êtes tenu de fournir des détails essentiels sur votre projet. Cela inclut la spécification du nom du projet et la sélection de l'emplacement où vos fichiers de projet seront stockés, comme un dossier de fichiers de programme, réservé à l'usage interne par les applications.

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 5 - Configuration du nom du projet et du chemin du fichier

La boîte de dialogue suivante consiste à sélectionner le cadre ciblé. Le cadre .NET que vous choisissez détermine les bibliothèques et API disponibles pour votre application, influençant sa compatibilité et fonctionnalité. Assurez-vous de sélectionner une version de cadre qui prend en charge les fonctionnalités que vous prévoyez d'implémenter dans votre application, en exploitant les outils Visual Studio pour une expérience de développement optimisée.

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 6 - Choix du cadre .NET approprié

4.4 Création du projet

Après avoir rempli les informations nécessaires et vérifié que tous les paramètres sont correctement ajustés pour répondre aux besoins de votre projet, la dernière étape est de créer le projet. Cela se fait en cliquant sur le bouton 'Créer'. Visual Studio initialise alors un nouveau projet basé sur le modèle et les configurations sélectionnés. Ce processus peut prendre quelques instants, après quoi votre nouveau projet .NET sera ouvert et prêt pour le développement.

5. Installer la bibliothèque IronWord

Cette section explore comment vous pouvez incorporer la bibliothèque IronWord dans votre projet en utilisant le Gestionnaire de packages NuGet, la ligne de commande Visual Studio, et en la téléchargeant directement depuis la page NuGet.

5.1 Utilisation du gestionnaire de packages NuGet

Le Gestionnaire de packages NuGet est une interface conviviale au sein de Visual Studio qui permet l'installation sans effort de bibliothèques et d'outils. Pour installer la bibliothèque IronWord en utilisant cette méthode, suivez ces étapes :

  1. Ouvrez le Gestionnaire de packages NuGet : Avec votre projet ouvert, cliquez droit sur le nom du projet dans l'Explorateur de solutions et sélectionnez "Gérer les packages NuGet..." dans le menu contextuel. Cette action ouvre la fenêtre du Gestionnaire de packages NuGet.
  2. Rechercher IronWord : Dans la fenêtre du Gestionnaire de packages NuGet, accédez à l'onglet "Parcourir". Utilisez la boîte de recherche pour trouver la bibliothèque IronWord en entrant 'IronWord' et en appuyant sur Entrée.

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 7 - Installation d'IronWord à l'aide du gestionnaire de packages NuGet

  1. Installer IronWord : À partir des résultats de recherche, sélectionnez le package IronWord. Vous verrez une description détaillée et des informations sur la version. Choisissez la version qui convient aux exigences de votre projet et cliquez sur le bouton "Installer". Visual Studio gère alors le téléchargement et l'installation de la bibliothèque, mettant à jour vos références de projet en conséquence.

5.2 Utilisation de la ligne de commande de Visual Studio

Pour ceux qui préfèrent travailler avec des outils en ligne de commande, Visual Studio propose la Console du Gestionnaire de packages, une interface PowerShell pour gérer les packages NuGet.

  1. Accéder à la Console du Gestionnaire de packages : Accédez à "Outils" > "Gestionnaire de packages NuGet" > "Console du Gestionnaire de packages" depuis le menu principal de Visual Studio.
  2. Installer IronWord : Dans la console, tapez la commande suivante et appuyez sur Entrée :

    Install-Package IronWord

    Cette commande récupère la dernière version de la bibliothèque IronWord et l'incorpore à votre projet. Vous pouvez spécifier une version particulière en ajoutant le paramètre -Version suivi du numéro de version.

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 8 - Installation d'IronWord via la ligne de commande VS

5.3 Téléchargement direct depuis la page web de NuGet

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 9 - Installation d'IronWord via la page NuGet

Si vous préférez gérer manuellement les bibliothèques de votre projet, vous pouvez télécharger directement le package IronWord depuis le site NuGet et l'ajouter à votre projet.

  1. Télécharger le package : Visitez nuget.org et cherchez le package IronWord. Sur la page du package, trouvez le lien "Télécharger" pour obtenir le fichier .nupkg. Enregistrez ce fichier sur votre ordinateur.
  2. Ajouter au projet : Une fois téléchargé, vous pouvez ajouter le package à votre projet manuellement. Ce processus implique généralement l'extraction du fichier .nupkg puis l'ajout de références aux assemblages contenus dans votre projet. Cependant, il est généralement plus simple et moins susceptible d'erreurs d'utiliser le Gestionnaire de packages NuGet ou la ligne de commande Visual Studio, comme décrit ci-dessus.

6. Installer Microsoft.Office.Interop.Word

Cette bibliothèque peut être ajoutée à votre projet via diverses approches, chacune adaptée à différentes préférences et exigences de développement.

6.1 Utilisation du gestionnaire de packages NuGet

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 10 - Installation de Microsoft.Office.Interop.Word via le gestionnaire de packages NuGet

Le Gestionnaire de packages NuGet de Visual Studio est la méthode la plus simple pour ajouter la bibliothèque Microsoft.Office.Interop.Word à votre projet. Suivez ces étapes :

  1. Ouvrir le Gestionnaire de packages NuGet : Avec votre projet ouvert dans Visual Studio, cliquez droit sur le nom du projet dans l'Explorateur de solutions. Sélectionnez "Gérer les packages NuGet..." dans le menu contextuel pour ouvrir la fenêtre du Gestionnaire de packages NuGet.
  2. Rechercher la bibliothèque : Dans la fenêtre du Gestionnaire de packages NuGet, passez à l'onglet "Parcourir" et tapez "Microsoft.Office.Interop.Word" dans la boîte de recherche. Appuyez sur Entrée pour lancer la recherche.
  3. Installer le package : Trouvez le package "Microsoft.Office.Interop.Word" dans les résultats de recherche. Examinez les informations sur la version et la description pour vous assurer qu'il répond aux besoins de votre projet. Cliquez sur le bouton "Installer" pour ajouter la bibliothèque à votre projet. Visual Studio gérera le téléchargement et l'installation du package, mettant à jour vos références de projet pour inclure l'assemblage nécessaire.

6.2 Utilisation de la ligne de commande Visual Studio

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 11 - Installation de Microsoft.Office.Interop.Word via la ligne de commande VS

La Console du Gestionnaire de packages, une interface en ligne de commande au sein de Visual Studio, offre une autre méthode pour installer la bibliothèque Microsoft.Office.Interop.Word.

  1. Accéder à la Console du Gestionnaire de packages : Allez dans "Outils" > "Gestionnaire de packages NuGet" > "Console du Gestionnaire de packages" depuis le menu principal de Visual Studio.
  2. Exécuter la commande d'installation : Dans la console, tapez la commande suivante et appuyez sur Entrée :

    Install-Package Microsoft.Office.Interop.Word

Cette commande demande à Visual Studio de récupérer la dernière version de la bibliothèque et de l'intégrer à votre projet. Si vous avez besoin d'une version spécifique de la bibliothèque, vous pouvez la spécifier en ajoutant le paramètre -Version suivi du numéro de version souhaité.

6.3 Téléchargement direct depuis la page NuGet

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 12 - Installation de Microsoft.Office.Interop.Word depuis la page NuGet

Pour les développeurs qui préfèrent gérer manuellement les dépendances de projet, la bibliothèque Microsoft.Office.Interop.Word peut être téléchargée directement depuis le site NuGet.

  1. Télécharger le package : Naviguez vers nuget.org et recherchez "Microsoft.Office.Interop.Word". Sur la page du package, trouvez le lien "Télécharger" pour obtenir le fichier .nupkg. Enregistrez ce fichier à un emplacement connu sur votre ordinateur.
  2. Ajouter manuellement le package à votre projet : Après le téléchargement, le fichier .nupkg peut être ajouté manuellement à votre projet. Cela implique généralement d'extraire le fichier et d'ajouter des références aux assemblages extraits dans votre projet. Néanmoins, pour une facilité d'utilisation et pour minimiser les erreurs potentielles, l'utilisation du Gestionnaire de packages NuGet ou de la ligne de commande Visual Studio est recommandée.

7. Comparaison des fonctionnalités avancées dans IronWord et Microsoft.Office.Interop.Word

7.1 Fonctionnalités avancées d'IronWord

7.1.1 Lire et éditer des documents Word

IronWord permet la lecture et la modification des documents Word. Cela inclut l'ouverture de documents existants, l'apport de modifications, et la sauvegarde de ces modifications dans le document original ou un nouveau fichier. Cette fonctionnalité est essentielle pour les applications qui ont besoin de mettre à jour des documents basés sur des entrées utilisateur ou des données provenant d'autres sources.

using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument("my_new_document.docx");

// Insert new text content into the document
document.AddText("This is a demonstration of modifying content with IronWord.");

// Save the document with a new filename
document.SaveAs("updated_document.docx");
using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument("my_new_document.docx");

// Insert new text content into the document
document.AddText("This is a demonstration of modifying content with IronWord.");

// Save the document with a new filename
document.SaveAs("updated_document.docx");
Imports IronWord
Imports IronWord.Models

' Initialize a new Word document
Private document As New WordDocument("my_new_document.docx")

' Insert new text content into the document
document.AddText("This is a demonstration of modifying content with IronWord.")

' Save the document with a new filename
document.SaveAs("updated_document.docx")
$vbLabelText   $csharpLabel

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 13 - Document résultant du code précédent

7.1.2 Modifier la configuration de la page

IronWord permet de modifier la taille de papier d'un document, en accommodant diverses normes comme A4, Lettre ou Legal. Vous pouvez ajuster l'orientation de la page entre portrait et paysage, en fonction des besoins du document.

7.1.3 Ajouter des paragraphes

Ajouter des paragraphes de manière programmatique est simple avec IronWord, permettant d'insérer du texte de manière dynamique basée sur la logique de l'application.

using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument();

// Insert text into the document
document.AddText("Exploring IronWord Capabilities");

// Save the document to a new file
document.SaveAs("updated_ironword_document.docx");
using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument();

// Insert text into the document
document.AddText("Exploring IronWord Capabilities");

// Save the document to a new file
document.SaveAs("updated_ironword_document.docx");
Imports IronWord
Imports IronWord.Models

' Initialize a new Word document
Private document As New WordDocument()

' Insert text into the document
document.AddText("Exploring IronWord Capabilities")

' Save the document to a new file
document.SaveAs("updated_ironword_document.docx")
$vbLabelText   $csharpLabel

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 14 - Document résultant du code précédent

7.1.4 Ajouter et supprimer des TextRuns

Les TextRuns représentent des sections de texte avec un ensemble commun de propriétés. IronWord permet d'ajouter et de supprimer ceux-ci, donnant aux développeurs le contrôle sur le découpage et les propriétés du texte.

7.1.5 Ajouter des images

IronWord prend en charge l'ajout d'images aux documents, y compris la spécification de leur position, l'habillage et la taille, ce qui améliore l'attrait visuel et l'efficacité du document.

using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument();

// Setup an image
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; // Width in pixels
img.Height = 250; // Height in pixels

// Create a paragraph to contain the image
Paragraph para = new Paragraph();
// Incorporate an image into the paragraph
para.AddImage(img);

// Add the paragraph to the document
document.AddParagraph(para);

// Save the document with a new name
document.SaveAs("updated_save_document.docx");
using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument();

// Setup an image
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; // Width in pixels
img.Height = 250; // Height in pixels

// Create a paragraph to contain the image
Paragraph para = new Paragraph();
// Incorporate an image into the paragraph
para.AddImage(img);

// Add the paragraph to the document
document.AddParagraph(para);

// Save the document with a new name
document.SaveAs("updated_save_document.docx");
Imports IronWord
Imports IronWord.Models

' Initialize a new Word document
Private document As New WordDocument()

' Setup an image
Private img As New IronWord.Models.Image("updated_image.jpg")
img.Width = 250 ' Width in pixels
img.Height = 250 ' Height in pixels

' Create a paragraph to contain the image
Dim para As New Paragraph()
' Incorporate an image into the paragraph
para.AddImage(img)

' Add the paragraph to the document
document.AddParagraph(para)

' Save the document with a new name
document.SaveAs("updated_save_document.docx")
$vbLabelText   $csharpLabel

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 15 - Document résultant avec une image du code précédent

7.1.6 Ajouter des formes

Des formes peuvent être ajoutées aux documents avec IronWord, y compris la définition du type de forme, de la taille, de la position et de la rotation. Cela ajoute une couche d'intérêt visuel et peut être utilisé pour mettre en évidence des informations ou ajouter des éléments décoratifs.

7.1.7 Définir le style

Options de style dans IronWord sont étendues, couvrant la famille de polices, la taille, la couleur et les décorations de texte comme gras, italique, barré, souligné, indice et exposant. Ce niveau de contrôle est crucial pour maintenir des normes de marque et garantir la lisibilité du document.

using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;

// Initialize WordDocument with a file
WordDocument document = new WordDocument("updated_document.docx");

// Create a TextRun with modifications
TextRun modifiedTextRun = new TextRun
{
    Text = "Updated text with IronWord",
    Style = new TextStyle
    {
        FontFamily = "Arial",
        FontSize = 48, // Adjusted font size
        TextColor = new IronColor(Color.Blue),
        IsBold = false,
        IsItalic = false,
        IsUnderline = false,
        IsSuperscript = true,
        IsStrikethrough = false,
        IsSubscript = true
    }
};

// Create a paragraph and add the TextRun
Paragraph newParagraph = new Paragraph();
newParagraph.AddTextRun(modifiedTextRun);

// Add the paragraph to the document
document.AddParagraph(newParagraph);

// Save the document with a new name
document.SaveAs("updated_save_document.docx");
using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;

// Initialize WordDocument with a file
WordDocument document = new WordDocument("updated_document.docx");

// Create a TextRun with modifications
TextRun modifiedTextRun = new TextRun
{
    Text = "Updated text with IronWord",
    Style = new TextStyle
    {
        FontFamily = "Arial",
        FontSize = 48, // Adjusted font size
        TextColor = new IronColor(Color.Blue),
        IsBold = false,
        IsItalic = false,
        IsUnderline = false,
        IsSuperscript = true,
        IsStrikethrough = false,
        IsSubscript = true
    }
};

// Create a paragraph and add the TextRun
Paragraph newParagraph = new Paragraph();
newParagraph.AddTextRun(modifiedTextRun);

// Add the paragraph to the document
document.AddParagraph(newParagraph);

// Save the document with a new name
document.SaveAs("updated_save_document.docx");
Imports IronSoftware.Drawing
Imports IronWord
Imports IronWord.Models
Imports Color = IronSoftware.Drawing.Color

' Initialize WordDocument with a file
Private document As New WordDocument("updated_document.docx")

' Create a TextRun with modifications
Private modifiedTextRun As New TextRun With {
	.Text = "Updated text with IronWord",
	.Style = New TextStyle With {
		.FontFamily = "Arial",
		.FontSize = 48,
		.TextColor = New IronColor(Color.Blue),
		.IsBold = False,
		.IsItalic = False,
		.IsUnderline = False,
		.IsSuperscript = True,
		.IsStrikethrough = False,
		.IsSubscript = True
	}
}

' Create a paragraph and add the TextRun
Private newParagraph As New Paragraph()
newParagraph.AddTextRun(modifiedTextRun)

' Add the paragraph to the document
document.AddParagraph(newParagraph)

' Save the document with a new name
document.SaveAs("updated_save_document.docx")
$vbLabelText   $csharpLabel

7.1.8 Définir les alignements

IronWord supporte l'ajustement de l'alignement du texte dans le document, y compris les alignements à gauche, centré, à droite et justifié. Ceci est important à la fois pour l'esthétique et la lisibilité.

7.1.10 Ajouter des tableaux

Les tableaux sont un composant vital de nombreux documents, utilisés pour organiser des données et des informations. IronWord permet d'ajouter des tableaux et de manipuler leur structure, y compris l'ajout ou la suppression de lignes et de colonnes. Manipuler le contenu des cellules de tableau est simple avec IronWord, permettant l'insertion de contenu dynamique en fonction des besoins de l'application. IronWord fournit la capacité de fusionner et de diviser les cellules de tableau, ce qui est utile pour personnaliser les mises en page de tableau et répondre à des exigences complexes de présentation des données.

using IronWord;
using IronWord.Models;

// Create a table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; // Changed the text content

// Add a TextRun to the cell
cell.AddContent(new Paragraph(textRun));

// Configure border style
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue), // Changed border color to blue
    BorderValue = IronWord.Models.Enums.BorderValues.Double, // Changed border style to double
    BorderSize = 3 // Adjusted border size to 3
};

// Configure table border
TableBorders tableBorders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};

// Assign borders to the cell
cell.Borders = tableBorders;

// Create a row and add the cell
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell);

// Create a table and add the row
Table table = new Table();
table.AddRow(row);

// Create a new Word document from the table
WordDocument doc = new WordDocument(table);

// Export the Word document
doc.SaveAs("UpdatedDocument.docx");
using IronWord;
using IronWord.Models;

// Create a table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; // Changed the text content

// Add a TextRun to the cell
cell.AddContent(new Paragraph(textRun));

// Configure border style
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue), // Changed border color to blue
    BorderValue = IronWord.Models.Enums.BorderValues.Double, // Changed border style to double
    BorderSize = 3 // Adjusted border size to 3
};

// Configure table border
TableBorders tableBorders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};

// Assign borders to the cell
cell.Borders = tableBorders;

// Create a row and add the cell
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell);

// Create a table and add the row
Table table = new Table();
table.AddRow(row);

// Create a new Word document from the table
WordDocument doc = new WordDocument(table);

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

' Create a table cell
Private cell As New TableCell()
Private textRun As New TextRun()
textRun.Text = "Updated content" ' Changed the text content

' Add a TextRun to the cell
cell.AddContent(New Paragraph(textRun))

' Configure border style
Dim borderStyle As New BorderStyle With {
	.BorderColor = New IronColor(IronSoftware.Drawing.Color.Blue),
	.BorderValue = IronWord.Models.Enums.BorderValues.Double,
	.BorderSize = 3
}

' Configure table border
Dim tableBorders As New TableBorders With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}

' Assign borders to the cell
cell.Borders = tableBorders

' Create a row and add the cell
Dim row As New TableRow()
row.AddCell(cell)
row.AddCell(cell)

' Create a table and add the row
Dim table As New Table()
table.AddRow(row)

' Create a new Word document from the table
Dim doc As New WordDocument(table)

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

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 16 - Document résultant avec des tableaux du code précédent

7.2 Fonctionnalités avancées spécifiques de Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word permet une intégration profonde avec les documents Word, permettant aux développeurs de tirer parti des fonctionnalités étendues de Word de manière programmatique. Voici ci-dessous certaines des fonctionnalités avancées spécifiques offertes par Microsoft.Office.Interop.Word, distinctes des capacités générales décrites précédemment :

7.2.1 Contrôles de contenu

Microsoft.Office.Interop.Word prend en charge l'ajout et la manipulation de contrôles de contenu, qui incluent des zones de texte enrichi, des listes déroulantes, des sélecteurs de dates et des cases à cocher. Ces contrôles peuvent être utilisés pour créer des documents structurés et interactifs où les utilisateurs peuvent saisir ou sélectionner des informations au sein d'un modèle défini.

using Microsoft.Office.Interop.Word;

// Create a new Word application and document
var application = new Application();
var document = application.Documents.Add();

// Add a combo box content control
object missing = System.Reflection.Missing.Value;
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
using Microsoft.Office.Interop.Word;

// Create a new Word application and document
var application = new Application();
var document = application.Documents.Add();

// Add a combo box content control
object missing = System.Reflection.Missing.Value;
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
Imports Microsoft.Office.Interop.Word

' Create a new Word application and document
Private application = New Application()
Private document = application.Documents.Add()

' Add a combo box content control
Private missing As Object = System.Reflection.Missing.Value
Private cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, missing)
cc.Title = "Choose an option"
cc.DropdownListEntries.Add("Option 1", "1")
cc.DropdownListEntries.Add("Option 2", "2")
$vbLabelText   $csharpLabel

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 17 - Document résultant avec des contrôles de contenu du code précédent

7.2.2 Publipostage

Automatiser le processus de publipostage, qui combine un document Word avec une source de données comme une feuille de calcul ou une base de données, pour produire des lettres personnalisées, des étiquettes ou des e-mails en masse. Cette fonction est inestimable pour générer des communications ou des documents personnalisés en grand nombre.

using Microsoft.Office.Interop.Word;

// Create a new document for mail merge
var mailMergeDoc = application.Documents.Add();

// Open the data source for the mail merge
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");

// Execute the mail merge
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
using Microsoft.Office.Interop.Word;

// Create a new document for mail merge
var mailMergeDoc = application.Documents.Add();

// Open the data source for the mail merge
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");

// Execute the mail merge
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
Imports Microsoft.Office.Interop.Word

' Create a new document for mail merge
Private mailMergeDoc = application.Documents.Add()

' Open the data source for the mail merge
mailMergeDoc.MailMerge.OpenDataSource("path\to\datasource.xlsx")

' Execute the mail merge
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument
mailMergeDoc.MailMerge.Execute(False)
$vbLabelText   $csharpLabel

7.2.3 Suivi des modifications et commentaires

Activer et interagir avec les fonctionnalités de suivi des modifications et des commentaires de Word par le biais du code. Cette fonctionnalité est essentielle pour les applications qui nécessitent une édition collaborative, une relecture de document ou un audit des modifications au fil du temps.

using Microsoft.Office.Interop.Word;

// Enable track changes
document.TrackRevisions = true;

// Add a comment to the first paragraph
object start = 0;
object end = 0;
Range range = document.Paragraphs[1].Range;
document.Comments.Add(range, "This is a comment.");
using Microsoft.Office.Interop.Word;

// Enable track changes
document.TrackRevisions = true;

// Add a comment to the first paragraph
object start = 0;
object end = 0;
Range range = document.Paragraphs[1].Range;
document.Comments.Add(range, "This is a comment.");
Imports Microsoft.Office.Interop.Word

' Enable track changes
document.TrackRevisions = True

' Add a comment to the first paragraph
Dim start As Object = 0
Dim [end] As Object = 0
Dim range As Range = document.Paragraphs(1).Range
document.Comments.Add(range, "This is a comment.")
$vbLabelText   $csharpLabel

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 18 - Document résultant avec le suivi des commentaires du code précédent

7.2.4 En-têtes et bas de page

Manipuler les en-têtes et pied de page de manière dynamique, y compris l'ajout de numéros de page, de dates ou de texte personnalisé. Cela est vital pour créer des documents professionnels avec une marque et des aides à la navigation cohérentes.

using Microsoft.Office.Interop.Word;

// Iterate through sections in the document and set headers and footers
foreach (Section section in document.Sections)
{
    // Set text for primary header
    section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";

    // Add page numbers to primary footer
    section.Footers[WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
using Microsoft.Office.Interop.Word;

// Iterate through sections in the document and set headers and footers
foreach (Section section in document.Sections)
{
    // Set text for primary header
    section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";

    // Add page numbers to primary footer
    section.Footers[WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
Imports Microsoft.Office.Interop.Word

' Iterate through sections in the document and set headers and footers
For Each section As Section In document.Sections
	' Set text for primary header
	section.Headers(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range.Text = "Header Text"

	' Add page numbers to primary footer
	section.Footers(WdHeaderFooterIndex.wdHeaderFooterPrimary).PageNumbers.Add()
Next section
$vbLabelText   $csharpLabel

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 19 - Document résultant avec des en-têtes et pieds de page du code précédent

7.2.5 Table des matières et index

Générer et mettre à jour une table des matières ou un index basé sur les titres de document ou les entrées marquées. Cela est essentiel pour créer des documents professionnels navigables, notamment des rapports longs ou des livres.

using Microsoft.Office.Interop.Word;

// Add a table of contents to the document
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);

// Add an index to the document
var index = document.Indexes.Add(document.Content);
using Microsoft.Office.Interop.Word;

// Add a table of contents to the document
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);

// Add an index to the document
var index = document.Indexes.Add(document.Content);
Imports Microsoft.Office.Interop.Word

' Add a table of contents to the document
Private toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel:= 1, LowerHeadingLevel:= 3, UseHyperlinks:= True)

' Add an index to the document
Private index = document.Indexes.Add(document.Content)
$vbLabelText   $csharpLabel

7.2.6 Intégration et liaison d'objets

Intégrer ou lier des objets externes comme des graphiques Excel ou des présentations PowerPoint dans des documents Word. Cette capacité permet un contenu dynamique qui se met à jour avec le fichier source ou l'intégration d'informations directement dans le document.

using Microsoft.Office.Interop.Word;

// Embed an Excel sheet into the document
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject(
    ClassType: "Excel.Sheet", 
    FileName: "path\\to\\excel.xlsx", 
    LinkToFile: false, 
    DisplayAsIcon: false, 
    IconFileName: ref missing, 
    IconIndex: ref missing, 
    IconLabel: ref missing, 
    Anchor: ref missing
);
using Microsoft.Office.Interop.Word;

// Embed an Excel sheet into the document
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject(
    ClassType: "Excel.Sheet", 
    FileName: "path\\to\\excel.xlsx", 
    LinkToFile: false, 
    DisplayAsIcon: false, 
    IconFileName: ref missing, 
    IconIndex: ref missing, 
    IconLabel: ref missing, 
    Anchor: ref missing
);
Imports Microsoft.Office.Interop.Word

' Embed an Excel sheet into the document
Private missing As Object = System.Reflection.Missing.Value
document.InlineShapes.AddOLEObject(ClassType:= "Excel.Sheet", FileName:= "path\to\excel.xlsx", LinkToFile:= False, DisplayAsIcon:= False, IconFileName:= missing, IconIndex:= missing, IconLabel:= missing, Anchor:= missing)
$vbLabelText   $csharpLabel

8. Documentation et Support

8.1 Documentation et support d'IronWord

IronWord offre une documentation et un support complet pour aider les développeurs à exploiter pleinement son potentiel. La documentation comprend une vaste gamme de ressources, y compris un guide de démarrage détaillé, des résumés de fonctionnalités, des exemples de démarrage rapide, et des références API complètes.

Le support pour IronWord est solide, fournissant une assistance technique pour garantir que les développeurs peuvent résoudre rapidement tous les problèmes. Le cadre de support inclut une équipe dédiée disponible pour répondre aux questions et résoudre les problèmes.

8.2 Documentation et support de Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word fournit aux développeurs .NET les outils pour interagir de manière programmatique avec des documents Word, soutenu par la documentation et le support étendus de Microsoft. La documentation comprend tout, des guides pour débutants à des exemples avancés, des informations détaillées sur l'API et des cas d'utilisation pratiques.

Pour le support, Microsoft propose plusieurs canaux, y compris une assistance technique directe, des forums communautaires et des plateformes comme Stack Overflow pour le support entre pairs. GitHub est également crucial pour signaler des problèmes et suggérer des améliorations. Des mises à jour régulières assurent que la bibliothèque reste à jour avec les nouvelles versions de Word, reflétant l'engagement continu de Microsoft envers les besoins des développeurs.

9. Modèles de Licence

9.1 Licence IronWord

Une comparaison entre IronWord & Microsoft.Office.Interop.Word : Figure 20 - Page de licence d'IronWord

IronWord propose des options de licence à la fois gratuites et commerciales.

  • Licence Lite : $liteLicense USD
    • Pour 1 développeur
    • 1 emplacement
    • 1 projet
    • Support par email
  • Licence Plus : $plusLicense USD
    • Jusqu'à 3 développeurs
    • 3 emplacements
    • 3 projets
    • Support email (24/7) et chat
    • Support téléphonique
  • Licence Professionnelle : $professionalLicense USD
    • Jusqu'à 10 développeurs
    • 10 emplacements
    • 10 projets
    • Support email (24/7), chat et téléphonique
    • Support par partage d'écran

Toutes les licences commerciales incluent un support prioritaire et des mises à jour. Elle propose également un essai gratuit pour tester toutes les capacités dans un environnement de production sans aucun filigrane.

9.2 Licence Microsoft.Office.Interop.Word

La licence pour Microsoft.Office.Interop.Word est liée à la suite Microsoft Office. Il n'y a pas de licence séparée nécessaire pour la bibliothèque Interop elle-même ; elle est incluse avec Microsoft Office. L'utilisation de Microsoft.Office.Interop.Word dans les applications nécessite que l'environnement de déploiement dispose d'une licence Microsoft Office valide, qui inclut Word.

Le coût dépend de la version spécifique de la suite Office et de l'accord de licence choisi, allant de licences individuelles à des licences en volume pour les entreprises. Pour des prix précis, référez-vous au site web officiel de Microsoft ou contactez un représentant commercial Microsoft.

10. Conclusion

Dans la comparaison entre IronWord et Microsoft.Office.Interop.Word, nous avons examiné divers aspects tels que la fonctionnalité, la facilité d'utilisation, la compatibilité de la plate-forme et la licence. IronWord se révèle être un concurrent particulièrement fort pour les développeurs en quête d'une solution flexible et multiplateforme pour la manipulation de documents Word.

Avec sa capacité à fonctionner indépendamment de Microsoft Office, IronWord offre une approche simplifiée du traitement de documents, ce qui en fait un choix idéal pour les applications fonctionnant dans divers environnements. Son ensemble de fonctionnalités complet, combiné avec la commodité de ne pas nécessiter l'installation de Microsoft Word, donne à IronWord un avantage, notamment dans les scénarios où la simplicité de déploiement et la compatibilité étendue sont des considérations clés. Si vous souhaitez acheter IronWord, rendez-vous sur la page de licence.

Veuillez noterMicrosoft.Office.Interop.Word est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, approuvé ou sponsorisé par Microsoft.Office.Interop.Word. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont faites à titre d'information uniquement et reflètent les informations publiquement disponibles au moment de la rédaction.

Questions Fréquemment Posées

Comment puis-je créer, éditer et formater des documents Word en .NET sans installer Microsoft Word ?

Vous pouvez utiliser IronWord, une bibliothèque autonome .NET qui permet la manipulation de documents, la conversion en différents formats et offre des options de formatage complètes sans nécessiter l’installation de Microsoft Word.

Quelles sont les différences entre Microsoft.Office.Interop.Word et IronWord pour les projets .NET ?

Microsoft.Office.Interop.Word nécessite l’installation de Microsoft Word et offre une intégration profonde avec les fonctionnalités de Word. IronWord est une bibliothèque autonome, ne nécessite pas Word et prend en charge le développement multi-plateforme, ce qui le rend plus flexible pour les contextes serveur ou cloud.

Comment puis-je installer une bibliothèque .NET pour le traitement de documents Word en utilisant Visual Studio ?

IronWord et Microsoft.Office.Interop.Word peuvent être installés en utilisant le gestionnaire de packages NuGet dans Visual Studio, la ligne de commande Visual Studio ou en téléchargeant directement depuis le site NuGet.

Quelles sont les options de licence disponibles pour IronWord ?

IronWord offre diverses options de licence, y compris des licences gratuites et commerciales, avec des niveaux Lite, Plus et Professional, chacun ayant des limites différentes pour les développeurs, les emplacements et les projets.

Comment Microsoft.Office.Interop.Word s’intègre-t-il avec les fonctionnalités de Microsoft Word ?

Microsoft.Office.Interop.Word permet aux applications .NET de tirer parti de toutes les capacités de Word, y compris la création, l’édition, le formatage de documents, les contrôles de contenu, le publipostage et d’autres fonctionnalités avancées nécessitant l’installation de Microsoft Word.

Quelle bibliothèque est plus adaptée au développement multi-plateforme en .NET ?

IronWord est plus adapté au développement multi-plateforme car il ne dépend pas de l’installation de Microsoft Word et prend en charge les applications sur différents systèmes d’exploitation.

Quelles fonctionnalités avancées IronWord offre-t-il pour la manipulation de documents ?

IronWord offre des fonctionnalités avancées telles que la lecture et l’édition de documents Word, la mise en page, l’ajout de paragraphes, d’images, de tableaux et l’application de styles et d’alignements, sans besoin de Microsoft Word.

Quels sont les principaux critères à considérer pour choisir entre IronWord et Microsoft.Office.Interop.Word ?

Considérez si votre environnement a déjà Microsoft Word installé et si une intégration profonde avec les fonctions de Word est nécessaire. IronWord offre une flexibilité pour les applications serveur ou cloud sans Word, tandis que Microsoft.Office.Interop.Word fournit un accès complet aux fonctionnalités de Word mais nécessite l’installation de Word.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite