Passer au contenu du pied de page
UTILISATION DE IRONPRINT

Comment imprimer avec une imprimante réseau en C#

L'impression programmatique sur les imprimantes réseau est une tâche courante dans diverses applications logicielles. Que vous développiez une application de bureau, une application mobile ou un service web, la possibilité d'envoyer des documents directement à une imprimante réseau peut considérablement améliorer la convivialité et l'efficacité de votre logiciel. Dans cet article, nous verrons comment imprimer sur une imprimante réseau en utilisant C# et IronPrint d' Iron Software .

Comment imprimer avec une imprimante réseau en C

  1. Créez un nouveau projet pour l'impression de documents à l'aide d'IronPrint .
  2. Installez IronPrint sur un nouveau projet.
  3. Lister les imprimantes réseau disponibles pour l'impression de documents.
  4. Imprimez des documents PDF à l'aide d'IronPrint .
  5. Imprimer des documents PDF à l'aide d'IronPrint avec boîte de dialogue.
  6. Impression avancée avec paramètres d'impression.

Mise en place de l'environnement

Avant de nous plonger dans la partie codage, assurons-nous que notre environnement est correctement configuré. Pour imprimer sur une imprimante réseau en C#, vous devez disposer des éléments suivants :

  1. Assurez-vous qu'une imprimante réseau est accessible depuis la machine sur laquelle votre application C# sera exécutée.
  2. L'adresse réseau de l'imprimante (adresse IP ou nom de l'imprimante réseau).
  3. Pilote(s) d'imprimante nécessaire(s) installé(s) sur la machine.
  4. Privilèges administratifs pour installer des imprimantes ou des pilotes si nécessaire.

IronPrint

Avant de nous pencher sur les détails de la mise en œuvre, familiarisons-nous avec la manière de démarrer avec IronPrint :

  1. Installation : IronPrint peut être facilement installé via le gestionnaire de packages NuGet. Il vous suffit de vous rendre sur la page NuGet et de suivre les instructions d'installation.
  2. Documentation : Consultez la documentation officielle pour un guide de démarrage rapide et une référence API complète.

Compatibilité et assistance : IronPrint offre une compatibilité et une assistance étendues pour différents environnements et types de projets :

  • Prise en charge des versions .NET : IronPrint prend en charge C#, VB.NET et F#, y compris .NET 8, 7, 6, 5 et Core 3.1+.
  • Systèmes d'exploitation et environnements : IronPrint est compatible avec Windows (7+), macOS (10+), iOS (11+) et Android API 21+ (v5 "Lollipop").
  • Types de projets : Que vous développiez des applications mobiles (Xamarin, MAUI, Avalonia), de bureau (WPF, MAUI, Windows Avalonia) ou console, IronPrint est là pour vous.

Voyons maintenant comment imprimer avec IronPrint à l'aide de l'exemple suivant.

using IronPrint;

namespace IronPrintDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure printer setting
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 220;
            printSettings.NumberOfCopies = 10;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the document
            Printer.Print("awesomeIronPrint.pdf", printSettings);
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure printer setting
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 220;
            printSettings.NumberOfCopies = 10;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the document
            Printer.Print("awesomeIronPrint.pdf", printSettings);
        }
    }
}
Imports IronPrint

Namespace IronPrintDemo
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Configure printer setting
			Dim printSettings As New PrintSettings()
			printSettings.Dpi = 220
			printSettings.NumberOfCopies = 10
			printSettings.PaperOrientation = PaperOrientation.Portrait

			' Print the document
			Printer.Print("awesomeIronPrint.pdf", printSettings)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Système.Impression

L'espace de noms System.Printing en C# contient des classes et des interfaces qui permettent aux développeurs d'interagir par programmation avec les imprimantes, les files d'attente d'impression, les serveurs d'impression et les travaux d'impression. Voici quelques classes et interfaces clés de cet espace de noms :

  1. PrintQueue : Représente une imprimante ou un périphérique d'impression connecté au système.
  2. PrintServer : Représente un serveur d'impression sur le réseau.
  3. PrintSystemJobInfo : Fournit des informations sur une tâche d'impression, telles que son statut et ses propriétés.
  4. PrintTicket : Représente les paramètres d'une tâche d'impression, notamment le format du papier, l'orientation et la qualité d'impression.

Premiers pas avec System.Printing : Avant de nous plonger dans le code, assurons-nous de bien comprendre le fonctionnement de l'impression avec System.Printing :

  1. Sélection PrintQueue : Vous devez identifier l'objet PrintQueue représentant l'imprimante que vous souhaitez utiliser pour l'impression.
  2. Configuration PrintTicket : Vous pouvez configurer l'objet PrintTicket pour spécifier les paramètres d'impression tels que le format du papier, l'orientation et le nombre de copies.
  3. Impression de documents : Enfin, vous envoyez le document à imprimer à la PrintQueue sélectionnée.

Mise en œuvre de l'impression de documents avec System.Printing : Voyons maintenant comment imprimer un document à l'aide de System.Printing avec l'exemple suivant :

Voici le code source :

using System;
using System.IO;
using System.Printing;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the document to be printed on the local printer
        string documentPath = "path/to/your/document.pdf";

        // Instantiate a Printer Server object representing the local print server
        using (PrintServer printServer = new PrintServer())
        {
            // Get the default PrintQueue from the PrintServer default 
            PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;

            // Create a PrintTicket object to specify print settings (optional)
            PrintTicket printTicket = new PrintTicket();

            // Configure print settings, e.g., number of copies
            printTicket.CopyCount = 1;

            // Print the document to the default PrintQueue with the specified PrintTicket
            defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
        }

        Console.WriteLine("Document sent to print queue.");
    }
}
using System;
using System.IO;
using System.Printing;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the document to be printed on the local printer
        string documentPath = "path/to/your/document.pdf";

        // Instantiate a Printer Server object representing the local print server
        using (PrintServer printServer = new PrintServer())
        {
            // Get the default PrintQueue from the PrintServer default 
            PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;

            // Create a PrintTicket object to specify print settings (optional)
            PrintTicket printTicket = new PrintTicket();

            // Configure print settings, e.g., number of copies
            printTicket.CopyCount = 1;

            // Print the document to the default PrintQueue with the specified PrintTicket
            defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
        }

        Console.WriteLine("Document sent to print queue.");
    }
}
Imports System
Imports System.IO
Imports System.Printing

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Specify the path to the document to be printed on the local printer
		Dim documentPath As String = "path/to/your/document.pdf"

		' Instantiate a Printer Server object representing the local print server
		Using printServer As New PrintServer()
			' Get the default PrintQueue from the PrintServer default 
			Dim defaultPrintQueue As PrintQueue = printServer.DefaultPrintQueue

			' Create a PrintTicket object to specify print settings (optional)
			Dim printTicket As New PrintTicket()

			' Configure print settings, e.g., number of copies
			printTicket.CopyCount = 1

			' Print the document to the default PrintQueue with the specified PrintTicket
			defaultPrintQueue.AddJob("MyPrintJob", documentPath, False, printTicket)
		End Using

		Console.WriteLine("Document sent to print queue.")
	End Sub
End Class
$vbLabelText   $csharpLabel

IronPrint contre System.Printing

Comment imprimer avec une imprimante réseau en C# : Figure 1 - Tableau comparatif rapide entre IronPrint et System.Printing

Ce tableau offre un aperçu rapide des fonctionnalités et caractéristiques d'IronPrint et System.Printing , aidant ainsi les développeurs à prendre des décisions éclairées en fonction de leurs besoins spécifiques et de leurs plateformes cibles.

Étape 1 : Créer un nouveau projet pour l'impression de documents à l'aide d'IronPrint

Créez une application console dans Visual Studio comme indiqué ci-dessous.

Comment imprimer avec une imprimante réseau en C# : Figure 2 - Création d'une application console

Fournissez un nom de projet et un emplacement.

Comment imprimer avec une imprimante réseau en C# : Figure 3 - Indiquez un nom de projet

Sélectionnez la version de .NET.

Comment imprimer avec une imprimante réseau en C# : Figure 4 - Sélectionnez la version .NET appropriée

Le projet est maintenant créé et prêt pour la suite du codage.

Étape 2 : Installez IronPrint sur un nouveau projet

Installez IronPrint à partir du gestionnaire de packages de Visual Studio comme indiqué ci-dessous.

Comment imprimer avec une imprimante réseau en C# : Figure 5 - Recherche d'IronPrint via le gestionnaire de packages de Visual Studio

IronPrint peut également être installé à l'aide de la commande ci-dessous :

Install-Package IronPrint

Étape 3 : Lister les imprimantes réseau disponibles pour l'impression de documents

Pour lister les noms des imprimantes à l'aide d'IronPrint, utilisez le code ci-dessous :

using System;
using System.Collections.Generic;
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Get printer names using printer drivers
            List<string> printersName = Printer.GetPrinterNames();
            foreach (var printer in printersName)
            {
                Console.WriteLine(printer);
            }
        }
    }
}
using System;
using System.Collections.Generic;
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Get printer names using printer drivers
            List<string> printersName = Printer.GetPrinterNames();
            foreach (var printer in printersName)
            {
                Console.WriteLine(printer);
            }
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports IronPrint

Namespace IronPrintDemo
	Public Class Program
		Public Shared Sub Main()
			' Get printer names using printer drivers
			Dim printersName As List(Of String) = Printer.GetPrinterNames()
			For Each printer In printersName
				Console.WriteLine(printer)
			Next printer
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Explication du code

  1. Utilisez Printer.GetPrinterNames pour obtenir tous les pilotes d'imprimante disponibles.
  2. Imprimez les noms à l'aide de Console.WriteLine .

Sortie

Comment imprimer avec une imprimante réseau en C# : Figure 6 - Exemple de sortie des imprimantes disponibles

Étape 4 : Imprimer le document PDF à l'aide d'IronPrint

Utilisez le code ci-dessous pour imprimer le document en mode silencieux :

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print the document silently
            Printer.Print("sample.pdf");
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print the document silently
            Printer.Print("sample.pdf");
        }
    }
}
Imports IronPrint

Namespace IronPrintDemo
	Public Class Program
		Public Shared Sub Main()
			' Print the document silently
			Printer.Print("sample.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Après l'exécution, le document est ajouté à la file d'attente d'impression, comme indiqué dans le résultat.

Sortie

Comment imprimer avec une imprimante réseau en C# : Figure 7 - Exemple de sortie montrant l'ajout du document à la file d'impression

Étape 5 : Imprimer le document PDF à l'aide d'IronPrint avec boîte de dialogue

Utilisez le code ci-dessous pour imprimer le document avec la boîte de dialogue :

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print with Dialog
            Printer.ShowPrintDialog("sample.pdf");
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print with Dialog
            Printer.ShowPrintDialog("sample.pdf");
        }
    }
}
Imports IronPrint

Namespace IronPrintDemo
	Public Class Program
		Public Shared Sub Main()
			' Print with Dialog
			Printer.ShowPrintDialog("sample.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Explication du code

  1. En utilisant ShowPrintDialog d'IronPrint, nous pouvons imprimer avec une boîte de dialogue.
  2. Une fois la boîte de dialogue ouverte, sélectionnez l'imprimante souhaitée pour imprimer le document.

Sortie

Comment imprimer avec une imprimante réseau en C# : Figure 8 - Sélectionner l'imprimante appropriée

Étape 6 : Impression avancée avec les paramètres d'impression

IronPrint prend en charge l'impression de documents avec des paramètres avancés. Il prend en charge les propriétés suivantes :

  1. PaperSize : Spécifie les dimensions du papier utilisées par l'imprimante.
  2. PaperOrientation : Définit l'orientation du papier, par exemple Automatique, Portrait ou Paysage.
  3. DPI : Définit la résolution d'impression souhaitée en points par pouce. La valeur par défaut est 300, couramment utilisée dans l'impression commerciale. La résolution réelle (DPI) peut être limitée par les capacités de l'imprimante.
  4. NumberOfCopies : Indique le nombre de copies identiques à imprimer pour un document.
  5. PrinterName : Spécifie le nom de l'imprimante désignée pour les tâches d'impression.
  6. PaperMargins : Détermine les marges d'impression, mesurées en millimètres.
  7. Grayscale : Une valeur booléenne déterminant s'il faut imprimer en niveaux de gris. La valeur par défaut est false.

Passons maintenant à un exemple de code :

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Configure custom print settings
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 150;
            printSettings.NumberOfCopies = 2;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the required document
            Printer.Print("sample.pdf", printSettings);
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Configure custom print settings
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 150;
            printSettings.NumberOfCopies = 2;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the required document
            Printer.Print("sample.pdf", printSettings);
        }
    }
}
Imports IronPrint

Namespace IronPrintDemo
	Public Class Program
		Public Shared Sub Main()
			' Configure custom print settings
			Dim printSettings As New PrintSettings()
			printSettings.Dpi = 150
			printSettings.NumberOfCopies = 2
			printSettings.PaperOrientation = PaperOrientation.Portrait

			' Print the required document
			Printer.Print("sample.pdf", printSettings)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Explication du code

  1. Le code commence par importer l'espace de noms nécessaire IronPrint, qui contient les classes et méthodes requises pour l'impression.
  2. Dans l'espace de noms IronPrintDemo , il existe une classe nommée Program déclarée comme publique.
  3. La méthode Main sert de point d'entrée au programme.
  4. Dans la méthode principale :
    • Un objet PrintSettings nommé printSettings est instancié pour configurer les paramètres d'impression personnalisés.
    • La propriété Dpi de printSettings est définie sur 150, ce qui indique une résolution d'impression de 150 points par pouce.
    • La propriété NumberOfCopies de printSettings est définie sur 2, ce qui indique que deux copies identiques du document seront imprimées.
    • La propriété PaperOrientation de printSettings est définie sur PaperOrientation.Portrait , indiquant que le document sera imprimé en orientation portrait.
  5. Enfin, la méthode Printer.Print est appelée avec les paramètres " sample.pdf " (le nom du document à imprimer) et printSettings (les paramètres d'impression personnalisés). Cette méthode gère le processus d'impression en utilisant les paramètres spécifiés.

Sortie

Comment imprimer avec une imprimante réseau en C# : Figure 9 - Exemple de sortie montrant le document PDF ajouté à la file d'impression.

Licence

IronPrint d' Iron Software est une bibliothèque d'entreprise qui nécessite une licence pour fonctionner. L'ajout d'une clé de licence IronPrint permet de rendre le projet accessible sans restrictions ni filigranes. Achetez une licence ici ou inscrivez-vous ici pour obtenir une clé d'essai gratuite de 30 jours.

Une fois la clé de licence obtenue, celle-ci doit être placée dans le fichier appSettings.json de l'application.

{
  "IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}

Cela permettra d'imprimer les documents sans restrictions ni filigranes.

Conclusion

En résumé, IronPrint et System.Printing ont chacun leurs atouts et conviennent à différents scénarios. IronPrint propose une solution simplifiée et multiplateforme axée sur la simplicité et la polyvalence, tandis que System.Printing offre une intégration native et un contrôle précis, notamment pour les applications Windows. Les développeurs doivent tenir compte de leurs exigences spécifiques et des plateformes cibles lorsqu'ils choisissent entre ces bibliothèques d'impression pour leurs projets C#.

IronPrint simplifie l'impression de documents au sein des applications .NET grâce à une API conviviale et une compatibilité étendue avec diverses plateformes et types de projets. En suivant les étapes décrites dans cet article, vous pouvez intégrer facilement la fonctionnalité d'impression à vos projets .NET, améliorant ainsi leur convivialité et leur productivité. Explorez les possibilités offertes par IronPrint et découvrez un monde d'impression de documents efficace au sein de vos applications.

Questions Fréquemment Posées

Comment puis-je imprimer sur une imprimante réseau en utilisant C# ?

Vous pouvez utiliser IronPrint pour imprimer des documents sur une imprimante réseau en C#. Il vous permet d'envoyer des documents directement à une imprimante réseau avec des méthodes qui gèrent les tâches d'impression de manière programmatique.

Quelles sont les étapes pour configurer l'impression sur une imprimante réseau en C# ?

Tout d'abord, assurez-vous d'avoir accès à une imprimante réseau et à son adresse. Installez les pilotes nécessaires et IronPrint via le Gestionnaire de Packages NuGet. Ensuite, utilisez les méthodes d'IronPrint pour gérer et envoyer les travaux d'impression.

Comment installer IronPrint dans mon projet C# ?

Vous pouvez installer IronPrint en utilisant le Gestionnaire de Packages NuGet dans Visual Studio ou en exécutant la commande Install-Package IronPrint dans la Console du Gestionnaire de Packages.

Quelles versions de .NET sont compatibles avec IronPrint ?

IronPrint supporte C#, VB.NET et F# et est compatible avec .NET 8, 7, 6, 5 et Core 3.1+.

IronPrint peut-il être utilisé sur différents systèmes d'exploitation ?

Oui, IronPrint est compatible avec Windows (7+), macOS (10+), iOS (11+) et Android API 21+ (v5 'Lollipop').

Comment IronPrint se compare-t-il à System.Printing en C# ?

IronPrint offre une solution multiplateforme avec un accent sur la simplicité, tandis que System.Printing fournit une intégration native et un contrôle pour les applications basées sur Windows.

Comment puis-je lister les imprimantes réseau disponibles en utilisant IronPrint ?

Vous pouvez utiliser la méthode Printer.GetPrinterNames() dans IronPrint, qui renvoie une liste de pilotes d'imprimante disponibles.

Quelles options d'impression avancées sont disponibles avec IronPrint ?

IronPrint prend en charge les paramètres avancés, y compris PaperSize, PaperOrientation, DPI, NumberOfCopies, PrinterName, PaperMargins et Grayscale.

Quelles options de licence sont disponibles pour IronPrint ?

Les licences IronPrint peuvent être achetées ou vous pouvez vous inscrire pour un essai gratuit de 30 jours sur le site Web d'Iron Software. La clé de licence est placée dans le fichier appSettings.json de votre application.

Quelle commande est utilisée pour installer IronPrint via la ligne de commande ?

Pour installer IronPrint via la ligne de commande, utilisez la commande Install-Package IronPrint.

Curtis Chau
Rédacteur technique

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 ...

Lire la suite