using IronWord;
using IronWord.Models;
// Load docx
WordDocument doc = new WordDocument("document.docx");
// Add text
doc.AddText("Add text using IronWord");
// Export docx
doc.SaveAs("save_document.docx");
Tutoriel sur l'impression de mots en C# : Guide étape par étape
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échargerCommunauté 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
Ouvrez Visual Studio.
Cliquez sur Créer un nouveau projet.
Recherchez "Console App" et sélectionnez le modèle C# approprié.
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 :
Dans Visual Studio, cliquez avec le bouton droit de la souris sur votre projet Console dans l'explorateur de solutions.
Naviguez vers Ajouter > Référence.
Dans la fenêtre Reference Manager, allez dans l'onglet COM.
Tapez "Microsoft Word" dans la barre de recherche pour filtrer la liste.
Dans les résultats, sélectionnez Microsoft Word xx.x Object Library(où xx.x indique 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 paquets NuGet.
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 :
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)
$vbLabelText $csharpLabel
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 Sub ButtonPrint_Click(ByVal sender As Object, ByVal e As EventArgs)
wordDoc.PrintOut()
End Sub
$vbLabelText $csharpLabel
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 Sub ButtonPrintWithSettings_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim copies As Object = "1"
Dim pages As Object = "1-3" ' To print multiple pages, e.g., 1 to 3.
wordDoc.PrintOut(Copies:= copies, Pages:= pages)
End Sub
$vbLabelText $csharpLabel
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 :
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
$vbLabelText $csharpLabel
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. EntrerIronWord-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 surcomment démarrer avec IronWord.
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 queIronWord.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier