C# Imprimer Word Tutoriel : Guide étape par étape
Bienvenue dans ce tutoriel, où nous allons explorer comment imprimer des documents Word à l'aide de Microsoft Interop dans une application console C#. Ce guide destiné aux débutants vous expliquera les étapes à suivre pour imprimer des documents Microsoft Word par programmation.
Prérequis
Avant de plonger dans le code, il est essentiel d'avoir mis en place quelques éléments :
-
Installation de Microsoft Word : Assurez-vous que Microsoft Word est installé sur votre système. Sinon, rendez-vous sur le site web officiel de Microsoft ou sur l'App Store de votre ordinateur pour l'installer.
-
Configuration de Visual Studio : vous devez avoir installé Visual Studio et être capable de créer une application console. Si vous êtes débutant, envisagez de télécharger Visual Studio Community , qui est gratuit et suffisant pour nos besoins.
-
Un document Word : Préparez un document Word d'exemple sur votre ordinateur à des fins de test. Voici le document que nous enverrons à l'imprimeur.
Configurer l'Environnement
Créer une nouvelle application console
- Ouvrez Visual Studio.
- Cliquez sur " Créer un nouveau projet ".
- Recherchez " Application console " et sélectionnez le modèle C# approprié.
- Nommez votre projet (par exemple, " InteropPrintConsoleTutorial ") et choisissez un emplacement approprié.
Ajout d'une référence d'interopérabilité
L'utilisation d'Interop nécessite une référence à la bibliothèque Microsoft Office Interop. Voici comment l'ajouter :
- Dans Visual Studio, cliquez avec le bouton droit sur votre projet Console dans l'Explorateur de solutions.
- Accédez à Ajouter > Référence.
- Dans la fenêtre Gestionnaire de références, accédez à l'onglet COM.
- Tapez " Microsoft Word " dans la barre de recherche pour filtrer la liste.
- Dans les résultats, sélectionnez " Bibliothèque d'objets Microsoft Word xx.x " (où xx.x désigne le numéro de version).
- Cliquez sur le bouton OK pour ajouter la référence.
Vous pouvez également l'installer à l'aide du gestionnaire de packages NuGet.

Vérifier les paramètres de l'application
Assurez-vous que le framework cible de votre application est compatible avec la bibliothèque Interop. Vous pouvez le vérifier en cliquant avec le bouton droit sur votre projet dans l'Explorateur de solutions, en sélectionnant Propriétés, puis en consultant le framework 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 package ou l'assembly nécessaire ou d'ajuster la version du framework cible.
L'environnement étant configuré, vous pouvez maintenant procéder au processus de codage.
Comprendre l'objet document
L'objet document est au cœur des services d'interopérabilité lors du traitement des documents Word. Cet objet représente un document Microsoft Word et offre toutes ses fonctionnalités.
Une tâche courante consiste à ouvrir un document :
using Word = Microsoft.Office.Interop.Word;
// Object needed to avoid passing specific parameters
object oMissing = Type.Missing;
// File path to the Word document you want to open
object fileName = @"C:\path_to_document\document.docx";
// Create a new instance of the Word application
Word.Application wordApp = new Word.Application();
// Open the document with specified parameters
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);Imports Word = Microsoft.Office.Interop.Word
' Object needed to avoid passing specific parameters
Private oMissing As Object = Type.Missing
' File path to the Word document you want to open
Private fileName As Object = "C:\path_to_document\document.docx"
' Create a new instance of the Word application
Private wordApp As New Word.Application()
' Open the document with specified parameters
Private wordDoc As Word._Document = wordApp.Documents.Open(fileName, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)Les multiples paramètres avec ref oMissing peuvent sembler intimidants, mais ils sont essentiels pour la méthode Open, qui attend de nombreux arguments, dont la plupart sont optionnels.
Mise en œuvre de la fonctionnalité d'impression
Notre environnement étant configuré et l'objet document étant compris, il est temps de se plonger dans les fonctionnalités 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 :
// Method to print the document using default printer settings
private void ButtonPrint_Click(object sender, EventArgs e)
{
wordDoc.PrintOut(); // Sends the document to the default printer
}' Method to print the document using default printer settings
Private Sub ButtonPrint_Click(ByVal sender As Object, ByVal e As EventArgs)
wordDoc.PrintOut() ' Sends the document to the default printer
End SubCette méthode envoie le document à l'imprimante par défaut en utilisant les paramètres par défaut.
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 :
// Method to print the document with custom settings
private void ButtonPrintWithSettings_Click(object sender, EventArgs e)
{
// Number of copies to print
object copies = "1";
// Page range to print, e.g., pages 1 to 3
object pages = "1-3";
// Print the document with specified copies and page range
wordDoc.PrintOut(Copies: ref copies, Pages: ref pages);
}' Method to print the document with custom settings
Private Sub ButtonPrintWithSettings_Click(ByVal sender As Object, ByVal e As EventArgs)
' Number of copies to print
Dim copies As Object = "1"
' Page range to print, e.g., pages 1 to 3
Dim pages As Object = "1-3"
' Print the document with specified copies and page range
wordDoc.PrintOut(Copies:= copies, Pages:= pages)
End SubDans le code source ci-dessus, nous spécifions la plage 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 le document en silence, tout est possible avec Interop.
Impression silencieuse
L'impression silencieuse consiste à envoyer le document à l'imprimante sans aucune interaction de l'utilisateur :
// Object to determine whether to print in the background or not
object background = false;
// Print the document silently (no user interactions)
wordDoc.PrintOut(Background: ref background);' Object to determine whether to print in the background or not
Dim background As Object = False
' Print the document silently (no user interactions)
wordDoc.PrintOut(Background:= background)Spécifier une imprimante
Pour imprimer un document sur une imprimante spécifique autre que l'imprimante par défaut :
// Set the active printer to a specified printer by name
wordApp.ActivePrinter = "Printer Name";
// Print the document using the specified printer
wordDoc.PrintOut();' Set the active printer to a specified printer by name
wordApp.ActivePrinter = "Printer Name"
' Print the document using the specified printer
wordDoc.PrintOut()Paramètres avancés de l'imprimante
Au-delà de la simple spécification de l'imprimante, il peut être nécessaire d'ajuster les paramètres de l'imprimante :
// Creates a PrintDialog to allow the user to choose printer settings
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
// Sets the Word application's active printer to the user's choice
wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName;
// Prints the document using user's selected printer settings
wordDoc.PrintOut();
}' Creates a PrintDialog to allow the user to choose printer settings
Dim printDialog As New PrintDialog()
If printDialog.ShowDialog() = DialogResult.OK Then
' Sets the Word application's active printer to the user's choice
wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName
' Prints the document using user's selected printer settings
wordDoc.PrintOut()
End IfAinsi, l'utilisateur peut ajuster manuellement des paramètres tels que l'orientation, l'impression recto verso, etc.
Présentation d'IronWord
Bien que Microsoft Interop offre des fonctionnalités pour gérer les documents Word, il n'est pas aussi robuste et efficace qu'il le devrait pour une utilisation commerciale sérieuse. Découvrez IronWord — une alternative supérieure à Interop pour le traitement des fichiers Word DOCX. IronWord permet une lecture, une écriture et une manipulation fluides des fichiers Excel en C#. Apprenez-en davantage sur la façon de commencer à utiliser IronWord .

Conclusion
Dans ce tutoriel, nous avons exploré les étapes nécessaires pour utiliser Microsoft Interop afin d'imprimer des documents Word par programmation 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 différents aspects de l'impression, comme le choix d'une imprimante spécifique ou la définition d'une plage de pages. Bien qu'Interop offre des fonctionnalités de base, il convient de noter qu'il existe des alternatives puissantes comme IronWord .

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 et créer des manuels bien structurés et visuellement attrayants.
Articles connexes
