UTILISATION D'IRONWORD

C# Imprimer Word (Tutoriel du développeur)

Publié octobre 30, 2023
Partager:

Bienvenue dans ce tutoriel, où nous verrons comment imprimer des documents Word à l'aide de l'interopérabilité Microsoft dans une application console C#. Ce guide, destiné aux débutants, vous guidera à travers les étapes de l'impression programmatique de documents Microsoft Word.

Conditions préalables

Avant de se plonger dans le code, il est essentiel de mettre en place un certain nombre d'éléments :

Installation de Microsoft Word : Assurez-vous que Microsoft Word est installé sur votre système. Si ce n'est pas le cas, rendez-vous sur le site officiel de Microsoft ou dans la boutique d'applications de votre ordinateur pour l'installer.

Installation de Visual Studio : Visual Studio doit être installé et permettre la création d'une application console. Si vous êtes débutant, envisagez de télécharger Communauté Visual Studioqui est gratuite et qui suffit à nos besoins.

Un document Word : Préparez un exemple de document Word sur votre machine à des fins de test. Il s'agit du document que nous enverrons à l'imprimante.

Mise en place de l'environnement

Créer une nouvelle application console

  1. Ouvrez Visual Studio.
  2. Cliquez sur Créer un nouveau projet.
  3. Recherchez "Console App" et sélectionnez le modèle C# approprié.
  4. Nommez votre projet (par exemple, "InteropPrintConsoleTutorial") et choisir un emplacement approprié.

Ajout d'une référence interopérationnelle

L'utilisation d'Interop nécessite une référence à la bibliothèque Microsoft Office Interop. Voici comment l'ajouter :

  1. Dans Visual Studio, cliquez avec le bouton droit de la souris sur votre projet Console dans l'explorateur de solutions.
  2. Naviguez vers Ajouter > Référence.
  3. Dans la fenêtre Reference Manager, allez dans l'onglet COM.
  4. Tapez "Microsoft Word" dans la barre de recherche pour filtrer la liste.
  5. Dans les résultats, sélectionnez Microsoft Word xx.x Object Library (où xx.x indique le numéro de version).
  6. Cliquez sur le bouton OK pour ajouter la référence.

    Vous pouvez également l'installer à l'aide du gestionnaire de paquets NuGet.

    Vous pouvez également installer la bibliothèque `Microsoft.Office.Interop.Word` en utilisant NuGet Package Manager.

Vérifier les paramètres de l'application

Assurez-vous que le cadre cible de votre application est compatible avec la bibliothèque Interop. Vous pouvez le vérifier en faisant un clic droit sur votre projet dans l'explorateur de solutions, en sélectionnant Propriétés, puis en affichant le cadre de travail cible sous l'onglet Application. Si vous rencontrez des problèmes avec la version de la bibliothèque Interop, envisagez de télécharger le paquetage ou l'assemblage nécessaire ou d'ajuster la version du cadre de travail cible.

Une fois l'environnement mis en place, vous pouvez maintenant procéder au codage.

Comprendre l'objet document

L'objet document est au cœur des services Interop lorsqu'il s'agit de documents Word. Cet objet représente un document Microsoft Word et fournit toutes ses fonctionnalités.

Une tâche courante consiste à ouvrir un document :

object oMissing = Type.Missing;
object fileName = @"C:\path_to_document\document.docx";
Word._Document wordDoc = wordApp.Documents.Open(ref fileName, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
object oMissing = Type.Missing;
object fileName = @"C:\path_to_document\document.docx";
Word._Document wordDoc = wordApp.Documents.Open(ref fileName, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
Dim oMissing As Object = Type.Missing
Dim fileName As Object = "C:\path_to_document\document.docx"
Dim wordDoc As Word._Document = wordApp.Documents.Open(fileName, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)
VB   C#

La multiplicité des paramètres avec ref oMissing peut sembler décourageante, mais elle est essentielle pour la méthode Open, qui attend de nombreux arguments, dont la plupart sont facultatifs.

Mise en œuvre de la fonctionnalité d'impression

Après avoir configuré notre environnement et compris l'objet document, il est temps de se plonger dans la fonctionnalité de base de l'impression des documents Word.

Impression de base d'un document Word

Pour imprimer le document, vous pouvez utiliser la méthode suivante :

private void ButtonPrint_Click(object sender, EventArgs e)
{
    wordDoc.PrintOut();
}
private void ButtonPrint_Click(object sender, EventArgs e)
{
    wordDoc.PrintOut();
}
Private Sub ButtonPrint_Click(ByVal sender As Object, ByVal e As EventArgs)
	wordDoc.PrintOut()
End Sub
VB   C#

Cette méthode envoie le document à l'imprimante par défaut en utilisant les paramètres par défaut.

3.2 Imprimer des documents Word avec des personnalisations

Si vous souhaitez introduire une boîte de dialogue d'impression, personnaliser les paramètres de l'imprimante ou même imprimer plusieurs pages, vous aurez besoin d'une approche plus détaillée :

private void ButtonPrintWithSettings_Click(object sender, EventArgs e)
{
    object copies = "1";
    object pages = "1-3"; // To print multiple pages, e.g., 1 to 3.
    wordDoc.PrintOut(Copies: ref copies, Pages: ref pages);
}
private void ButtonPrintWithSettings_Click(object sender, EventArgs e)
{
    object copies = "1";
    object pages = "1-3"; // To print multiple pages, e.g., 1 to 3.
    wordDoc.PrintOut(Copies: ref copies, Pages: ref pages);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Dans le code source ci-dessus, nous spécifions l'intervalle de pages et le nombre de copies, mais les possibilités de personnalisation sont vastes.

Personnalisation des paramètres d'impression

La possibilité de modifier les paramètres d'impression est ce qui distingue le contrôle programmatique. Que vous souhaitiez ajuster les paramètres de l'imprimante, définir une imprimante spécifique ou même imprimer silencieusement le document, tout est à portée de main avec Interop.

Impression silencieuse

L'impression silencieuse consiste à envoyer le document à l'imprimante sans aucune interaction de la part de l'utilisateur :

object background = false;
wordDoc.PrintOut(Background: ref background);
object background = false;
wordDoc.PrintOut(Background: ref background);
Dim background As Object = False
wordDoc.PrintOut(Background:= background)
VB   C#

Spécification d'une imprimante

Pour imprimer un document sur une imprimante spécifique autre que celle par défaut :

wordApp.ActivePrinter = "Printer Name";
wordDoc.PrintOut();
wordApp.ActivePrinter = "Printer Name";
wordDoc.PrintOut();
wordApp.ActivePrinter = "Printer Name"
wordDoc.PrintOut()
VB   C#

Paramètres avancés de l'imprimante

Outre la spécification de l'imprimante, il peut s'avérer nécessaire d'ajuster les paramètres de l'imprimante :

PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
    wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName;
    wordDoc.PrintOut();
}
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
    wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName;
    wordDoc.PrintOut();
}
Dim printDialog As New PrintDialog()
If printDialog.ShowDialog() = DialogResult.OK Then
	wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName
	wordDoc.PrintOut()
End If
VB   C#

L'utilisateur peut ainsi régler manuellement des paramètres tels que l'orientation, l'impression recto-verso, etc.

Présentation d'IronWord

Bien que Microsoft Interop fournisse des fonctionnalités pour gérer les documents Word, il n'est pas aussi robuste et efficace qu'il devrait l'être pour une utilisation commerciale sérieuse. Entrer IronWord-une alternative supérieure à Interop pour le traitement des fichiers Word DOCX. IronWord permet de lire, d'écrire et de manipuler des fichiers Excel en C#. En savoir plus sur comment démarrer avec IronWord.

IronXL for .NET : La bibliothèque Excel C#

Conclusion

Dans ce tutoriel, nous avons étudié les étapes permettant de tirer parti de Microsoft Interop pour imprimer des documents Word de manière programmatique dans une application console C#. Nous avons vu comment afficher la boîte de dialogue d'impression, définir des paramètres d'impression personnalisés et contrôler divers aspects de l'impression tels que le choix d'une imprimante spécifique ou la définition d'un intervalle de pages. Bien qu'Interop offre des capacités fondamentales, il convient de noter qu'il existe des alternatives puissantes telles que IronWord.

< PRÉCÉDENT
C# Ouvrir un document Word