Passer au contenu du pied de page
UTILISATION DE IRONPRINT

Comment imprimer un fichier sur une imprimante en C#

L'impression directe de fichiers PDF depuis une application C# peut s'avérer une fonctionnalité précieuse, notamment lors du développement d'applications nécessitant une intégration transparente avec des documents PDF physiques. Que vous travailliez sur un système de gestion de documents PDF, une application de point de vente ou tout autre logiciel lié à l'impression, C# fournit un ensemble robuste de bibliothèques pour faciliter cette fonctionnalité d'impression PDF.

À cette fin, Microsoft C# fournit une méthode d'impression permettant d'imprimer des fichiers PDF sur une imprimante par défaut. Dans cet article, nous explorerons les étapes permettant d'imprimer un fichier PDF sur une imprimante en utilisant C#.

Comment imprimer un fichier sur une imprimante en C

  1. Créer une application Windows Forms en C#
  2. Importez System.Drawing.Printing à l'aide du mot-clé
  3. Concevez le formulaire avec un bouton et les autres commandes nécessaires.
  4. Gestion de l'événement PrintDocument à l'aide de l'événement PrintPage
  5. Initier le travail d'Impression
  6. Lancez l'application et cliquez sur le bouton Imprimer pour imprimer.

Prérequis

Avant de commencer, assurez-vous d'avoir les prérequis suivants en place :

  1. Environnement de développement AC# (par exemple, Visual Studio).
  2. Autorisations adéquates pour interagir avec les imprimantes.
  3. Connaissances de base en programmation C#.

Étape 1 : Mise en place de votre projet

Créez un nouveau projet C# ou ouvrez-en un existant dans votre environnement de développement préféré. Assurez-vous que votre projet est correctement configuré et que vous disposez des autorisations nécessaires pour interagir avec l'imprimante. La procédure suivante vous permet de mener à bien cette opération :

Installer Visual Studio

Si vous n'avez pas installé Visual Studio, téléchargez-le et installez-le depuis le site officiel : Visual Studio .

Créer un nouveau projet

  1. Ouvrez Visual Studio.
  2. Cliquez sur " Créer un nouveau projet ".

Comment imprimer un fichier sur une imprimante en C# : Figure 1 - Nouveau projet

Choisir un modèle de projet

  1. Dans la boîte de dialogue " Créer un nouveau projet ", sélectionnez " Application Windows Forms (.NET Framework) " ou " Application Windows Forms (.NET Core) " selon votre préférence.

Comment imprimer un fichier sur une imprimante en C# : Figure 2 - Application Windows Forms

  1. Indiquez un nom et un emplacement pour votre projet.

Comment imprimer un fichier sur une imprimante en C# : Figure 3 - Configuration du projet

  1. Cliquez sur Suivant, puis, dans l'écran d'informations supplémentaires, sélectionnez .NET Framework et cliquez sur " Créer ".

Concevoir le formulaire

  1. Une fois le projet créé, le formulaire principal s'affichera dans l'éditeur.
  2. Utilisez la boîte à outils pour ajouter à votre formulaire, selon vos besoins, des contrôles tels que des boutons, des zones de texte, des étiquettes, etc.
  3. Personnalisez les propriétés de chaque contrôle à l'aide de la fenêtre Propriétés.

Comment imprimer un fichier sur une imprimante en C# : Figure 4 - Conception du formulaire

  1. Ajustez l'apparence et la mise en page du formulaire.

Comment imprimer un fichier sur une imprimante en C# : Figure 5 - Formulaire d'impression

Étape 2 : Importation des bibliothèques requises

Dans votre fichier de code C#, importez les espaces de noms nécessaires pour accéder aux classes et méthodes liées à l'impression.

using System.Drawing.Printing;
using System.Drawing.Printing;
Imports System.Drawing.Printing
$vbLabelText   $csharpLabel

Ces espaces de noms fournissent des classes essentielles telles que PrintDocument , PrintPageEventArgs et PrintController pour la gestion des opérations d'impression.

Étape 3 : Gestion de l'événement PrintDocument

La classe PrintDocument est une pierre angulaire de l'impression en C#. Gérez son événement PrintPage pour définir le contenu à imprimer et sa mise en forme. Commençons par un exemple simple d'impression du contenu d'un fichier texte :

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    // Specify the file path
    string filePath = "C:\\path\\to\\your\\file.txt";
    // Read the content of the file
    string line = System.IO.File.ReadAllText(filePath);
    // Create a Font object (adjust as needed)
    Font font = new Font("Arial", 12);
    // Create a RectangleF to define the printing area
    RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
    // Draw the content to the printing area
    e.Graphics.DrawString(line, font, Brushes.Black, area);
    // Set HasMorePages to false to indicate that there are no more pages to print
    e.HasMorePages = false;
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    // Specify the file path
    string filePath = "C:\\path\\to\\your\\file.txt";
    // Read the content of the file
    string line = System.IO.File.ReadAllText(filePath);
    // Create a Font object (adjust as needed)
    Font font = new Font("Arial", 12);
    // Create a RectangleF to define the printing area
    RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
    // Draw the content to the printing area
    e.Graphics.DrawString(line, font, Brushes.Black, area);
    // Set HasMorePages to false to indicate that there are no more pages to print
    e.HasMorePages = false;
}
Private Sub printDocument1_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
	' Specify the file path
	Dim filePath As String = "C:\path\to\your\file.txt"
	' Read the content of the file
	Dim line As String = System.IO.File.ReadAllText(filePath)
	' Create a Font object (adjust as needed)
	Dim font As New Font("Arial", 12)
	' Create a RectangleF to define the printing area
	Dim area As New RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height)
	' Draw the content to the printing area
	e.Graphics.DrawString(line, font, Brushes.Black, area)
	' Set HasMorePages to false to indicate that there are no more pages to print
	e.HasMorePages = False
End Sub
$vbLabelText   $csharpLabel

Cet exemple lit le contenu d'un fichier texte et l'imprime en utilisant la police et la mise en forme spécifiées.

Étape 4 : Lancement de l'impression

Lancez l'impression en créant une instance de la classe PrintDocument , en y attachant le gestionnaire d'événements PrintPage , puis en déclenchant le processus d'impression. Vous pouvez également afficher une boîte de dialogue d'impression pour la configuration utilisateur :

private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
    // Optionally, display a print dialog for user configuration
    PrintDialog printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        pd.PrinterSettings = printDialog.PrinterSettings;
        pd.Print();
    }
}
private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
    // Optionally, display a print dialog for user configuration
    PrintDialog printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        pd.PrinterSettings = printDialog.PrinterSettings;
        pd.Print();
    }
}
Private Sub btnPrint_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim pd As New PrintDocument()
	AddHandler pd.PrintPage, AddressOf printDocument1_PrintPage
	' Optionally, display a print dialog for user configuration
	Dim printDialog As New PrintDialog()
	If printDialog.ShowDialog() = DialogResult.OK Then
		pd.PrinterSettings = printDialog.PrinterSettings
		pd.Print()
	End If
End Sub
$vbLabelText   $csharpLabel

Ce code crée une instance de PrintDocument , y associe le gestionnaire d'événements PrintPage , puis imprime le document. La boîte de dialogue d'impression optionnelle permet aux utilisateurs de configurer les paramètres d'impression avant de lancer la tâche d'impression. Cette fonction imprime le document texte sur une imprimante connectée localement. Si ce paramètre n'est pas présent, le fichier est imprimé sur l'imprimante par défaut (Microsoft Print to PDF) dans la boîte de dialogue d'impression, comme indiqué ci-dessous :

Comment imprimer un fichier sur une imprimante en C# : Figure 6 - Boîte de dialogue d'impression Microsoft

Impression avancée en C# via la bibliothèque IronPrint

En matière de gestion efficace et performante des fonctionnalités d'impression dans les applications console C#, la bibliothèque IronPrint offre une solution puissante.

Introduction à IronPrint

IronPrint est une bibliothèque d'impression complète développée par Iron Software, conçue pour s'intégrer parfaitement aux applications .NET. Que vous travailliez sur un projet de bureau, web ou mobile, IronPrint offre des fonctionnalités d'impression polyvalentes pour les documents PDF, prenant en charge différents formats de fichiers et proposant des paramètres d'impression personnalisables.

Comment imprimer un fichier sur une imprimante en C# : Figure 7 - IronPrint

Fonctionnalités clés

  1. Formats pris en charge : IronPrint prend en charge divers formats de documents, notamment PDF, PNG, TIFF, GIF, JPEG et Bitmap. Cette polyvalence permet aux développeurs de travailler avec différents types de contenu pour l'impression.
  2. Paramètres personnalisables : Les développeurs peuvent personnaliser les paramètres d'impression en fonction des exigences de leur application. Cela inclut des options permettant de définir la résolution (points par pouce), de spécifier l'orientation du papier (portrait ou paysage) et de contrôler le nombre de copies.
  3. Boîte de dialogue d'impression : IronPrint facilite une expérience utilisateur fluide en permettant aux développeurs d'afficher une boîte de dialogue d'impression avant l'impression. Cela peut s'avérer utile dans les cas où les utilisateurs doivent interagir avec le processus d'impression et sélectionner des options spécifiques.
  4. Impression silencieuse : IronPrint propose une fonction d'impression silencieuse particulièrement avantageuse pour l'automatisation et l'amélioration de l'efficacité du flux de travail. Cela permet aux développeurs d'imprimer les factures sans intervention de l'utilisateur, éliminant ainsi le besoin d'intervention manuelle et rationalisant l'ensemble du processus.
  5. Compatibilité multiplateforme : IronPrint va au-delà des limitations de la plateforme, offrant une compatibilité avec une gamme diversifiée d'environnements, notamment Windows (7+), macOS (10+), iOS (11+) et Android API 21+ (v5 "Lollipop"). Il s'intègre parfaitement à différents types de projets tels que Mobile (Xamarin, MAUI et Avalonia), Desktop (WPF, MAUI et Windows Avalonia) et Console (App et Bibliothèque).
  6. Prise en charge étendue des versions .NET : Que vous utilisiez les dernières versions .NET 8, 7, 6 ou Core 3.1+, IronPrint est là pour vous. Il prend également en charge le framework .NET (4.6.2+), assurant ainsi la compatibilité avec différents environnements de développement.

Installation d'IronPrint

Avant de vous lancer dans l'impression de fichiers, vous devez installer la bibliothèque IronPrint. Vous pouvez facilement le faire à l'aide de la console du gestionnaire de packages NuGet :

Install-Package IronPrint

Cette ligne de commande téléchargera et installera la bibliothèque IronPrint dans votre projet C#.

Initialisation d'IronPrint

Une fois IronPrint installé, vous devez l'initialiser dans votre code C#. Importez l'espace de noms IronPrint et définissez la clé de licence pour garantir un bon fonctionnement :

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    }
}
using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    }
}
Imports IronPrint
Friend Class Program
	Public Shared Sub Main()
		License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
	End Sub
End Class
$vbLabelText   $csharpLabel

Impression d'un fichier avec IronPrint

Imprimer un fichier avec IronPrint est simple. Vous pouvez utiliser la classe Printer en spécifiant le chemin d'accès au fichier dans la méthode Print pour imprimer le PDF en mode silencieux :

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        // Specify the file path
        var document = "C:\\path\\to\\your\\file.pdf";
        // Print PDFs
        Printer.Print(document);
    }
}
using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        // Specify the file path
        var document = "C:\\path\\to\\your\\file.pdf";
        // Print PDFs
        Printer.Print(document);
    }
}
Imports IronPrint
Friend Class Program
	Public Shared Sub Main()
		License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
		' Specify the file path
		Dim document = "C:\path\to\your\file.pdf"
		' Print PDFs
		Printer.Print(document)
	End Sub
End Class
$vbLabelText   $csharpLabel

L'impression silencieuse présente l'avantage de ne nécessiter aucune interaction de l'utilisateur pour imprimer le PDF, ce qui est utile dans les situations où l'automatisation est nécessaire pour rationaliser le flux de travail. Pour les situations nécessitant une interaction de l'utilisateur, comme une boîte de dialogue avant l'impression, vous pouvez utiliser ShowPrintDialog , qui permet d'obtenir le même résultat, mais avec une boîte de dialogue comme étape supplémentaire.

Bien que cet exemple ne montre que l'impression d' un fichier PDF, IronPrint prend également en charge divers formats de fichiers, notamment PDF, PNG, TIFF, GIF, JPEG, IMAGE et BITMAP.

Personnalisation des paramètres d'impression

IronPrint vous permet de personnaliser les paramètres d'impression en fonction des exigences de votre application. Vous pouvez configurer des paramètres tels que la résolution (DPI), le nombre de copies, l'orientation du papier, etc., à l'aide de la classe PrintSettings . L'exemple de code suivant vous aide à configurer les paramètres de page et à imprimer des documents PDF :

using IronPrint;
class Program
{
    public static void Main()
    {
        IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        Console.WriteLine("Printing Started...");
        // Specify the file path
        string filePath = "C:\\path\\to\\your\\file.pdf";
        // Configure print settings
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 300;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Landscape;
        // Print the document with custom settings
        Printer.Print(filePath, printSettings);
        // Print using the Print dialog
        Printer.ShowPrintDialog(filePath, printSettings);
    }
}
using IronPrint;
class Program
{
    public static void Main()
    {
        IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        Console.WriteLine("Printing Started...");
        // Specify the file path
        string filePath = "C:\\path\\to\\your\\file.pdf";
        // Configure print settings
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 300;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Landscape;
        // Print the document with custom settings
        Printer.Print(filePath, printSettings);
        // Print using the Print dialog
        Printer.ShowPrintDialog(filePath, printSettings);
    }
}
Imports IronPrint
Friend Class Program
	Public Shared Sub Main()
		IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
		Console.WriteLine("Printing Started...")
		' Specify the file path
		Dim filePath As String = "C:\path\to\your\file.pdf"
		' Configure print settings
		Dim printSettings As New PrintSettings()
		printSettings.Dpi = 300
		printSettings.NumberOfCopies = 2
		printSettings.PaperOrientation = PaperOrientation.Landscape
		' Print the document with custom settings
		Printer.Print(filePath, printSettings)
		' Print using the Print dialog
		Printer.ShowPrintDialog(filePath, printSettings)
	End Sub
End Class
$vbLabelText   $csharpLabel

Voici à quoi ressemble le résultat :

Comment imprimer un fichier sur une imprimante en C# : Figure 8 - Sortie d'impression personnalisée

Si l'imprimante physique n'est pas installée, l'imprimante par défaut est utilisée pour imprimer les documents PDF. Pour obtenir la liste de toutes les imprimantes disponibles, vous pouvez également utiliser la méthode GetPrinterNames .

// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
    Console.WriteLine(printer);
}
// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
    Console.WriteLine(printer);
}
' Retrieve printers' name
Dim printersName As List(Of String) = Printer.GetPrinterNames()
For Each printer As String In printersName
	Console.WriteLine(printer)
Next printer
$vbLabelText   $csharpLabel

Pour plus d'informations, veuillez consulter la page de documentation .

Conclusion

L'impression de fichiers en C# est une tâche gérable grâce aux fonctionnalités offertes par l'espace de noms System.Drawing.Printing . En gérant l'événement PrintPage et en utilisant la classe PrintDocument , vous pouvez adapter le processus d'impression à vos besoins spécifiques. Ce guide complet a couvert les étapes fondamentales de l'impression de fichiers à partir d'une application C#, offrant une base solide pour intégrer cette fonctionnalité dans vos projets.

Pour les développeurs à la recherche de fonctionnalités avancées, d'évolutivité et d'automatisation, IronPrint se distingue comme une solution idéale. Son API intuitive et ses fonctionnalités supplémentaires surpassent les solutions de base proposées par Microsoft. En explorant plus en profondeur IronPrint, nous avons découvert toute une gamme d'options de personnalisation, notamment la prise en charge de différents types de fichiers, la possibilité d'incorporer des images et des améliorations de la mise en forme pour mieux répondre aux besoins spécifiques d'une application.

L'intégration d'IronPrint dans votre application C# simplifie le processus d'impression de fichiers sur une imprimante. Grâce à sa compatibilité avec différents formats de fichiers et à ses paramètres d'impression personnalisables, IronPrint offre une solution robuste aux développeurs souhaitant améliorer leurs capacités d'impression. Que vous travailliez sur un projet de bureau, web ou mobile, IronPrint simplifie le processus d'impression, ce qui en fait un ajout précieux à votre boîte à outils .NET. Découvrez les avantages d'IronPrint en explorant notre page d'essai gratuit . Téléchargez la bibliothèque ici et découvrez ses fonctionnalités par vous-même !

IronPrint propose une page d'essai gratuit pour plus d'informations. Téléchargez la bibliothèque ici et essayez-la.

Questions Fréquemment Posées

Comment puis-je imprimer un fichier PDF sur une imprimante en utilisant C#?

Vous pouvez imprimer un fichier PDF sur une imprimante en utilisant C# en créant une application Windows Forms, en important l'espace de noms System.Drawing.Printing et en gérant l'événement PrintDocument. Pour des fonctionnalités plus avancées, telles que le support de divers formats de fichiers et les paramètres d'impression personnalisables, vous pouvez utiliser la bibliothèque IronPrint par Iron Software.

Quelles étapes sont nécessaires pour configurer un projet C# pour l'impression?

Pour configurer un projet C# pour l'impression, commencez par créer une nouvelle application Windows Forms dans Visual Studio, concevez l'interface du formulaire et importez l'espace de noms System.Drawing.Printing. IronPrint peut être intégré pour des fonctionnalités d'impression améliorées comme la prise en charge de multiples formats et paramètres.

IronPrint peut-il gérer différents formats de fichiers pour l'impression?

Oui, IronPrint prend en charge une large gamme de formats de fichiers, y compris PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE et BITMAP, ce qui en fait un choix polyvalent pour les développeurs ayant besoin d'imprimer divers types de contenus.

Qu'est-ce qui rend IronPrint une solution robuste pour l'impression dans les applications C#?

IronPrint offre des solutions robustes avec son support pour de multiples formats, des paramètres personnalisables tels que le DPI et l'orientation du papier, et une compatibilité multiplateforme. Il s'intègre également facilement dans les applications .NET, offrant des capacités d'impression améliorées.

Comment puis-je personnaliser les paramètres d'impression avec IronPrint?

IronPrint vous permet de personnaliser les paramètres d'impression en utilisant sa classe PrintSettings. Vous pouvez ajuster les paramètres tels que le DPI, le nombre de copies et l'orientation du papier pour répondre à des exigences d'impression spécifiques.

IronPrint est-il compatible multiplateforme?

Oui, IronPrint est compatible multiplateforme, supportant des environnements tels que Windows, macOS, iOS et Android, ce qui permet aux développeurs d'utiliser la bibliothèque dans diverses applications à travers différents systèmes d'exploitation.

Comment IronPrint améliore-t-il la fonctionnalité d'impression dans une application C#?

IronPrint améliore la fonctionnalité d'impression en fournissant des fonctionnalités avancées telles que le support de multiples formats de documents, des paramètres d'impression personnalisables, et une intégration transparente dans les applications .NET, ce qui améliore le processus d'impression global dans les applications C#.

Comment initier un travail d'impression en C# en utilisant IronPrint?

Pour initier un travail d'impression en C# en utilisant IronPrint, vous devez créer une instance de la classe PrintDocument, attacher un gestionnaire d'événements PrintPage, puis utiliser les méthodes d'IronPrint pour exécuter le travail d'impression avec toutes les personnalisations requises.

Qu'est-ce qui est nécessaire pour commencer à imprimer des fichiers en C#?

Pour commencer à imprimer des fichiers en C#, vous avez besoin d'un environnement de développement comme Visual Studio, des autorisations pour accéder aux imprimantes et d'une compréhension de base de la programmation en C#. IronPrint peut être ajouté à votre projet pour fournir des capacités d'impression améliorées.

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